A使用Laravel 3时遇到问题,我需要使用这个laravel版本,因为这是我公司的laravel的认证版本。
所以,我想在base_controller中实现一个受保护的方法,以便在我的所有控制器中使用这个方法。
然后我实现了以下代码:
Laravel\Routing\Filter_Collection Object (
[filters] => Array ( [0] => profileValidate ) [parameters] => [only] => Array ( )
[except] => Array ( ) [methods] => Array ( ) )
在我的控制器中,我调用此方法来验证记录的用户权限,然后我需要在权限为false时,基本控制器调用过滤器profileValidate,该过滤器会将用户重定向到某个路径。
这种我实现日志结果的方式是:
Configuration Properties
在我的过滤器内部,我有一个重定向到一些路线,但没有工作,并没有显示任何错误!
在我的实现开始时,我尝试将用户重定向到基本控制器内的某个页面,但是不起作用,因为我需要在我的父控制器中返回工作,那么这是一个问题,因为必须在我的方法实现开始时进行验证,并且返回必须在方法的最后。
你可以帮帮我吗?谢谢!答案 0 :(得分:0)
您可以直接在传递参数的路由上使用过滤器进行过滤,设置一个或多个角色可以访问该部分,如下所示:
Route::group(array('before' => 'verifyLoggedUser:admin,action'), function()
{
Route::get('panel', 'someController@action');
Route::get('dashboard','someController@otherAction');
});
过滤器可以通过这种方式获取这些参数:
Route::filter('filter', function($route, $request, $module, $action)
{
$result = false;
//logical to validate user permissions
if( !$result )
return $this->filter('before', 'profileValidate');
else
return $result;
});