Laravel 5 如何在多登录系统中使用中间件

Laravel 5 如何在多登录系统中使用中间件,laravel-5,Laravel 5,我在Laravel5中多次登录,使用不同的控制器,如帐户控制器和管理员控制器。我想在路由上使用中间件来授权用户。我能做什么?步骤1:创建AdminLoggedInMiddleware php artisan make:middleware AdminLoggedInMiddleware 步骤2:在受保护的$routeMiddleware数组中的app\Http\Kernel.php中注册AdminLoggedInMiddleware protected $routeMiddleware = [

我在Laravel5中多次登录,使用不同的控制器,如帐户控制器和管理员控制器。我想在路由上使用中间件来授权用户。我能做什么?

步骤1:创建
AdminLoggedInMiddleware

php artisan make:middleware AdminLoggedInMiddleware
步骤2:在
受保护的$routeMiddleware
数组中的
app\Http\Kernel.php
中注册
AdminLoggedInMiddleware

protected $routeMiddleware = [
    ...,
    'admin' => 'App\Http\Middleware\AdminLoggedInMiddleware',
];
步骤3:检查管理员是否已登录,因此,打开
AdminLoggedInMiddleware
,并用以下方法替换默认的
handle
方法:

public function handle($request, Closure $next)
{
    // Change this condition as per your requirement.
    if ( Auth::check() && Auth::user()->role === 'administrator' ) {
        return $next($request);
    }
    return redirect()->back();
}
步骤4:打开
AdminController.php
文件并添加以下方法:

public function __construct()
{
    $this->middleware('admin');
}

同样,您也可以为其他用户创建其他中间件,并检查他们是否已登录。

非常感谢!!它工作得很好。@user3514160,谢谢。它帮助我了解了一些关于中间件身份验证的知识。你能解释一下该方法的更多细节吗handle@AvineshMathur查看关于中间件的laracasts视频: