Что лучше для входа в Laravel?

#laravel

#laravel

Вопрос:

Я создаю приложение, в котором при входе в систему они получают другую целевую страницу, что лучше всего использовать для множественной авторизации или входа по типу пользователя?

например, у нескольких auth guard есть другая таблица для (admin, employee, user), в то время как usertype — это столбец (usertype) в таблице User.

Пример множественной аутентификации:

https://medium.com/hello-laravel/multiple-authentication-system-laravel-5-4-ac94c759638a

Пример типа пользователя:

https://medium.com/justlaravel/how-to-use-middleware-for-content-restriction-based-on-user-role-in-laravel-2d0d8f8e94c6

Ответ №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);