У меня есть три пользователя (Staff, Admin, Hr) ..., использующих различные средства защиты для ограничения. Другие средства защиты работают нормально, но веб-защита, которая является настройкой по умолчанию и охраной для персонала (пользователей), не позволяет мне войти ни это дает какую-либо ошибку.
Вот моя функция входа в систему
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',
],
],