#laravel
#laravel
Вопрос:
Я создаю приложение, в котором при входе в систему они получают другую целевую страницу, что лучше всего использовать для множественной авторизации или входа по типу пользователя?
например, у нескольких auth guard есть другая таблица для (admin, employee, user), в то время как usertype — это столбец (usertype) в таблице User.
Пример множественной аутентификации:
https://medium.com/hello-laravel/multiple-authentication-system-laravel-5-4-ac94c759638a
Пример типа пользователя:
Ответ №1:
Вы можете использовать промежуточное ПО с перенаправлением и обрабатывать запрос примерно так:
$guard = Auth::guard($guard);
if ($guard->check()) {
$user = $guard->user();
if ($user->userType === 'admin') {
return redirect('/adminPage');
}
}
return $next($request);
Ответ №2:
Используйте этот код в своем RedirectIfAuthenticated
промежуточном программном обеспечении.
$guards = empty($guards) ? [null] : $guards;
$url = $request->url();
$url = explode("/",$url);
foreach ($guards as $guard) {
if (Auth::guard($guard)->check()) {
if (auth()->user()->type=="admin") {
return redirect('super-admin/dashboard');
} elseif (auth()->user()->type=="employee") {
return redirect('employee/dashboard');
} else {
if ($url[3] == "admin" amp;amp; $url) {
return redirect('admin/login');
} else {
return redirect(RouteServiceProvider::HOME);
}
}
}
}
return $next($request);