我在laravel上安装了adminlte,它的内置登录功能正常。我在users表中有两个角色。管理员和客户。管理员必须通过管理面板登录screen.its工作正常。客户必须通过登录屏幕登录前端网站。 问题是:
当我通过前端网站登录客户时,它会登录并将他/她重定向到某个首页。当我打开管理面板登录屏幕时,它会重定向到管理仪表板,因为我们已经登录..但它不能转到管理仪表板,它必须保留在管理员登录页面上。任何解决方案。如何解决这个问题?
答案 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);
}
}