wake-up-neo.com

laravel-Weiterleitung, wenn Sie angemeldet sind

ich benutze Laravel 5.1.8 . Ich mache ein Anmelde-/Registrierungssystem . Ich habe einen Controller namens AdminController erstellt und mit Middleware geschützt.

aber ich benutze Laravels Standard AuthController, welche Methoden und Klassen sich an verschiedenen Orten befinden. Wo Routen sind:

Route::Controllers([
    'auth' => 'Auth\AuthController',
    'password' => 'Auth\PasswordController'
]);

get('admin', '[email protected]');
get('profile', '[email protected]');
get('article', '[email protected]');

benutzer können nicht auf AdminController zugreifen, ohne sich anzumelden. Die Seite wird zur Anmeldeseite umgeleitet. aber ich möchte, wenn ein angemeldeter Benutzer die Adresse der Anmeldeseite oder die Registrierung in die Adressleiste des Browsers eingibt, wird die Seite an AdminController umgeleitet.

wenn ich versuche, dies zu tun, sucht es nach '/ home' und gibt Fehler. Ich möchte es "/ admin" machen.

11
smartrahat

gehe zu App\Http\Middleware\RedirectIfAuthenticated.__ 

public function handle($request, Closure $next)
{
    if ($this->auth->check()) {
        return redirect('/home');
    }

    return $next($request);
}

zu 

public function handle($request, Closure $next)
{
    if ($this->auth->check()) {
        return redirect('/admin');
    }

    return $next($request);
}
35
mdamia

Fügen Sie dies Ihrer AuthController hinzu:

protected $redirectTo = '/admin';

Dies weist alle Umleitungsmethoden in den verschiedenen Merkmalen an, dort anstelle von /home umzuleiten.

4
BrokenBinary

wenn ein Benutzer erfolgreich authentifiziert wurde, wird er zur/home-URI umgeleitet, für die Sie eine zu registrierende Route registrieren müssen. Sie können den Umleitungsort nach der Authentifizierung anpassen, indem Sie eine redirectPath -Eigenschaft auf dem AuthController definieren:

protected $ redirectPath = '/ Dashboard';

0

Fügen Sie die Middleware \App\Http\Middleware\RedirectIfAuthenticated::class In das "Web" -Array von $ middlewareGroups nach der Middleware \Illuminate\Session\Middleware\StartSession::class Ein

ändern Sie anschließend Ihren Umleitungspfad in der handle() -Methode von RedirectIfAuthenticated

public function handle($request, Closure $next, $guard = null)
    {
        //check if authenticate && second is condition when we need to redirect i.e, 
         if(Auth::guard($guard)->check() && $request->route()->named('login') ) {
        return redirect()->route('dashboard');
    }

        return $next($request);
    }
0
Bharat Parmar