Как настроить перенаправление после входа в систему - PullRequest
0 голосов
/ 03 февраля 2019

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

Насколько я понимаю, когда Nova используется, он берет на себя процесс аутентификации.

Ответы [ 3 ]

0 голосов
/ 03 февраля 2019

Используете ли вы Laravel Auth для аутентификации?Если да, вы можете просто изменить доступную функцию перенаправления рекламы в соответствии с вашими требованиями.Примерно так:

У вас логин контроллера:

protected function authenticated(Request $request, $user)
{
    //Check Role to user type
    if ( $user->isAdmin() ) {
        //Add redirection
        return redirect()->route('admin.route.name');
    }
    else {
      return redirect()->route('admin.route.name');
    }

}
0 голосов
/ 19 августа 2019

вендор / Laravel / framework / src / Illuminate / Foundation / Auth / RedirectsUsers.php Файл ниже Код существует

public function redirectPath()
    {

        if (method_exists($this, 'redirectTo')) {
            return $this->redirectTo();
        }


        return property_exists($this, 'redirectTo') ? $this->redirectTo : '/home';
    }

если вы определите функцию в LoginController.php как Bellow, вы можете перенаправить пользователей вих путь

 protected $redirectTo;
    protected function redirectTo()
    {

        if(\Auth::user()->hasRole('Administrator')){
            $this->redirectTo = '/admin/overview';
            return $this->redirectTo;
        }
        else if(\Auth::user()->hasRole('Doctor')){
            $this->redirectTo = '/doctor/overview';
            return $this->redirectTo;
        }
    }

ЭТО ВСЕ, ЧТО ВЫ ДОЛЖНЫ ДЕЛАТЬ !!!

0 голосов
/ 03 февраля 2019

Добавьте следующий защищенный метод для переопределения перенаправления по умолчанию в вашем приложении / Http / Controllers / Auth / LoginController.php файл:

protected function authenticated(Request $request, User $user)
{
    return redirect("/redirect_users_after_login");
}
...