laravel - 中间件不允许我登录 Web Guard
问题描述
我有三个用户(员工,管理员,人力资源)......使用不同的警卫进行限制。其他警卫工作正常,但默认的网络警卫和员工(用户)的警卫不允许我登录,也没有给出任何错误。
这是我的登录功能
public function logged(Request $request)
{
$this->validate($request,[
'email' => 'required|email',
'password' => 'required|min:6'
]);
if (Auth::guard('web')->attempt(['email'=>$request->email,
'password' => $request->password]))
{
return redirect()->intended(url('/home'));
}
Session::flash('message','Invalid Login details');
return redirect()->back()->withInput($request->only('email','remember'));
}
Below is my middleware
public function handle($request, Closure $next, $guard = null)
{
switch($guard){
case 'admin':
if(Auth::guard($guard)->check()){
return redirect()->route('admin.dashboard');
}
break;
case 'hr':
if(Auth::guard($guard)->check()){
return redirect()->route('hr.dashboard');
}
break;
default:
if(Auth::guard($guard)->check()){
return redirect()->route('home');
}
return $next($request);
}
**下面是我的 config/auth.php ** 按要求
'defaults' => [
'guard' => 'web',
'passwords' => 'users',
],
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
],
'admin'=> [
'driver' => 'session',
'provider' => 'admins',
],
'admin-api' => [
'driver' => 'token',
'provider' => 'admins',
],
'hr' => [
'driver' => 'session',
'provider' => 'hrs',
],
'hr-api' =>[
'driver' => 'token',
'provider' => 'hrs'
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
'admins' => [
'driver' => 'eloquent',
'model' => App\Models\Admins::class,
],
'hrs' => [
'driver' => 'eloquent',
'model' => App\Hr::class,
],
'users' => [
'driver' => 'database',
'table' => 'users',
],
],
解决方案
如果您跳过守卫并让它只使用默认值会发生什么,因此default:
请执行以下操作
if (Auth::check()) {
return redirect()->route('home');
}
推荐阅读
- javascript - 关于偶数和奇数问题(使用递归)
- html - 即使我已经在 css 中设置了背景颜色、大小等,我的按钮也没有格式化
- python - 如何将系列附加到数据框列表中包含的数据框?
- spring - Spring Scheduler 在 DST 期间未运行
- asp.net-core-3.0 - 为什么我在注册 IHostedService 时没有实例化我的 HomeController
- python - 使用熊猫查找数据框列中的前 2 个
- javascript - 我需要帮助如何将 CSS 中的链接样式类添加到页面上的链接
- html - 如何完全嵌入谷歌地图到网站
- ruby-on-rails - 如何通过关系更新资源
- python-3.x - 列出值大于零的列名