Entrust, je mis en œuvre comment l'utilisateur sera redirigé vers son propre tableau de bord après la connexion en ajoutant cette méthode dans Authcontroller.php
Laravel 5.2 Entrust: rediriger l'utilisateur s'il ajoute manuellement limité URL
protected function authenticated()
{
if(\Auth::user()->hasRole(['super_admin',])) {
return redirect('/dashboard');
} else if(\Auth::user()->hasRole(['staff_admin'])) {
return redirect('/staff/dashboard');
} else if(\Auth::user()->hasRole(['subadmin_admin'])) {
return redirect('/subadmin/dashboard');
}
}
Quel défi que je suis face à droite est maintenant, par exemple. si le personnel était connecté et redirigé vers son tableau de bord comme
domain.com/staff/dashboard
mais si il supprime manuellement le personnel de l'URL et tente d'accéder au super-administrateur du tableau de bord puis Entrust lance erreur 403, mais je veux rediriger lui à son tableau de bord, avec un message que "Vous n'êtes pas autorisé".
J'ai essayé d'implémenter le même code dans le middleware RedirectIfAuthenticated, mais il a donné l'erreur comme hasRole appelé Null.
Nop! Je ne demande pas d'obtenir la page d'erreur 403. Qu'est-ce que je veux, c'est s'il change manuellement l'URL, puis comment rediriger vers son tableau de bord, plutôt que de montrer la page morte 403. J'espère que je suis clair avec une question. – Tarunn
vous pouvez remplacer à la méthode handle dans le fournisseur/zizaco/entrust/src/Entrust/Middleware/EntrustRole.php –