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