我有一个具有两种身份验证的应用程序,即用户和管理员。
如果用户已经登录,我想将用户重定向到特定页面。就像如果用户已经登录一样,URL http://example.com/log 会将用户带到URL http://example.com/dashboard 。
类似地,如果管理员已经登录,则URL http://example.com/admin/login 应该将它们重定向到URL http://example.com/admin/dashboard 。
问题是我可以更改handle方法以重定向到RedirectIfAuthenticated页面中的仅一页。在该页面上有关如何检查请求是来自管理员还是用户的任何想法。
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
return redirect('/dashboard');
}
return $next($request);
}
答案 0 :(得分:0)
如果您创建2个用于进行身份验证的防护措施,例如用户和管理员,则只需在下面进行检查即可
if (!Auth::guard('user')->user()) {
return redirect('/dashboard');
}
if (!Auth::guard('admin')->user()) {
return redirect('/admin/dashboard');
}