j'utilise laravel 5.1.8 . Je crée un système de connexion/enregistrement. J'ai créé un contrôleur nommé AdminController et le protège avec un middleware.
mais j'utilise AuthController par défaut de Laravel, dont les méthodes et les classes sont situées à des endroits différents. où les routes sont:
Route::Controllers([
'auth' => 'Auth\AuthController',
'password' => 'Auth\PasswordController'
]);
get('admin', 'AdminController@index');
get('profile', 'AdminController@profile');
get('article', 'AdminController@article');
les utilisateurs ne peuvent pas accéder à AdminController sans se connecter. Il est redirigé vers la page de connexion. mais je veux, si un utilisateur connecté a tapé l'adresse de la page de connexion ou de l'enregistrement sur la barre d'adresse du navigateur, la page sera redirigée vers AdminController.
quand j'essaie de faire cela, il cherche '/ home' et donne des erreurs. je veux le faire '/ admin'.
aller à App\Http\Middleware\RedirectIfAuthenticated
puis le changer de
public function handle($request, Closure $next)
{
if ($this->auth->check()) {
return redirect('/home');
}
return $next($request);
}
à
public function handle($request, Closure $next)
{
if ($this->auth->check()) {
return redirect('/admin');
}
return $next($request);
}
Ajoutez ceci à votre AuthController
:
protected $redirectTo = '/admin';
Cela indique à toutes les méthodes de redirection des différents traits de rediriger à la place de /home
.
quand un utilisateur est authentifié avec succès, il sera redirigé vers l'URI/home, que vous devrez enregistrer une route à gérer. Vous pouvez personnaliser l'emplacement de redirection post-authentification en définissant une propriété redirectPath sur AuthController:
protected $ redirectPath = '/ dashboard';