3
votes

Comment personnaliser la redirection après la connexion

J'utilise dans mon application cms nova. Je souhaite configurer la redirection en fonction de la propriété utilisateur. Je n'ai rien trouvé dans la documentation. Peut-être que je n'ai simplement pas compris. Veuillez aider à comprendre.

Si je comprends bien, lorsque Nova est utilisé, il prend en charge le processus d'authentification.


3 Réponses :


1
votes

Ajoutez la méthode protégée suivante pour remplacer la redirection par défaut dans votre fichier app / Http / Controllers / Auth / LoginController.php :

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


2 commentaires

Si je comprends bien, lorsque Nova est utilisé, il prend en charge le processus d'authentification.


Merci pour votre réponse. Mais cela ne fonctionne pas de cette façon.



0
votes

Utilisez-vous Laravel Auth pour l'authentification? Si oui, vous pouvez simplement modifier la fonction de redirection d'annonce disponible selon vos besoins. Quelque chose comme ceci:

Dans votre connexion Controller:

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 commentaires

-1
votes

dans le fichier vendor / Laravel / framework / src / Illuminate / Foundation / Auth / RedirectsUsers.php sous Code Is Exist

 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;
        }
    }

si vous définissez la fonction dans LoginController.php comme ci-dessous, vous pouvez rediriger utilisateurs à leur chemin

public function redirectPath()
    {

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


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

C'EST TOUT CE QUE VOUS DEVEZ FAIRE !!!


0 commentaires