Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 自定义身份验证中间件-Laravel 5_Php_Authentication_Laravel_Middleware - Fatal编程技术网

Php 自定义身份验证中间件-Laravel 5

Php 自定义身份验证中间件-Laravel 5,php,authentication,laravel,middleware,Php,Authentication,Laravel,Middleware,Laravel 5附带的已交付的auth中间件非常适合用户专用的路由和控制器,但是我想添加一个功能,即还可以检查用户是否是管理员 目前,在我的控制器中,我为每个类都提供了以下功能: if (Auth::user()->level <= 1) { // admin can do these actions } else { // redirect } if(Auth::user()->levelLaravel 5.0中的中间件不支持参数(这将在即将发布的5.1版本中添

Laravel 5附带的已交付的
auth
中间件非常适合用户专用的路由和控制器,但是我想添加一个功能,即还可以检查用户是否是管理员

目前,在我的控制器中,我为每个类都提供了以下功能:

if (Auth::user()->level <= 1) {
    // admin can do these actions
} else {
    // redirect
}

if(Auth::user()->levelLaravel 5.0中的中间件不支持参数(这将在即将发布的5.1版本中添加)

您可以选择为此创建单独的中间件,或者使用路由过滤器


您可以通过将其放入
RouteServiceProvider
boot
方法来创建路由筛选器:

$router->filter('userLevel', function($route, $request, $level)
{
    $user = auth()->user();

    if ( ! $user || $user->level > $level)
    {
        return response('Unauthorized', 401);
    }
});
然后在路线中使用该过滤器:

Route::group(['before' => 'userLevel:1'], function($router)
{
    // define routes...
});

Laravel5.0中的中间件不支持参数(这将在即将发布的5.1版本中添加)

您可以选择为此创建单独的中间件,或者使用路由过滤器


您可以通过将其放入
RouteServiceProvider
boot
方法来创建路由筛选器:

$router->filter('userLevel', function($route, $request, $level)
{
    $user = auth()->user();

    if ( ! $user || $user->level > $level)
    {
        return response('Unauthorized', 401);
    }
});
然后在路线中使用该过滤器:

Route::group(['before' => 'userLevel:1'], function($router)
{
    // define routes...
});

很高兴知道这将添加到5.1中-同时,我可以创建什么样的路由筛选器?啊,我刚刚看到你的更新,谢谢。很高兴知道这将添加到5.1中-同时,我可以创建什么样的路由筛选器?啊,我刚刚看到你的更新,谢谢。