Laravel登录并注销两个角色

时间:2017-08-18 15:02:46

标签: laravel-5.4

我在laravel上安装了adminlte,它的内置登录功能正常。我在users表中有两个角色。管理员和客户。管理员必须通过管理面板登录screen.its工作正常。客户必须通过登录屏幕登录前端网站。 问题是:

当我通过前端网站登录客户时,它会登录并将他/她重定向到某个首页。当我打开管理面板登录屏幕时,它会重定向到管理仪表板,因为我们已经登录..但它不能转到管理仪表板,它必须保留在管理员登录页面上。任何解决方案。如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您可以在管理路由上使用中间件来检查用户是否是管理员用户,如果您的用户模型上有is_admin标记,则可以使用以下内容:

class IsAdminMiddleware
    {
        /**
         * Handle an incoming request.
         *
         * @param  \Illuminate\Http\Request  $request
         * @param  \Closure  $next
         * @return mixed
         */
        public function handle($request, Closure $next)
        {
            if (Auth::guest()) {
                return redirect()->route('login');
            }

            if (!$request->user()->is_admin) {
                abort(403, 'Not Authorised');
            }

            return $next($request);
        }
    }