Logowanie - middleware a pętla przekierowań

0

Witajcie

w Laravel 5.4 zainstalowałem przez konsolę rejestracje, logowanie, odzyskiwanie hasła, ... Przeszedłem przez rejestrację, gdzie w konstruktorze klasy mamy:

    public function __construct() {
        $this->middleware('guest');
    }

Po poprawnej rejestracji następuje przekierowanie do panelu Logowania, gdzie w konstruktorze klasy mamy:

    public function __construct() {     
    	$this->middleware('guest', ['except' => 'logout']);
    }

I tutaj otrzymuje błąd, po czym serwer się wysypuje ze wzgl. na dużą ilość przekierowań.
W pliku config.auth.php mam to samo, jak tutaj

Co jest nie tak, jak to naprawić ?

W sekcji auth.php jest:

    'defaults' => [
        'guard' => 'web',
        'passwords' => 'users',
    ],

passwords - to nazwa pola z formularza ?
users - to jest tabela ?
quard - do czego się odnosi ?

0

Nie powinieneś przekierowywać do strony logowania po udanej rejestracji. W procesie rejestracji następuje również logowanie, stąd nie jest potrzebne przekierowanie do formularza logowania - a na stronę główną.

W obydwu kontrolerach używasz tego samego middleware, który nie dopuści do wykonania kodu z kontrolera jeżeli użytkownik jest zalogowany.

0

Masz rację.
W trait pliku "RegistersUsers.php" dla poniższej metody zrobiłem coś takiego :

    protected function registered(Request $request, $user) { 
    	if ($request && $user) {
    		return redirect($this->redirectPath())->with('success', trans('success_info'));
    	} else {
    		return redirect($this->redirectPath())->with('error', trans('error_info'));
    	}
    }

gdzie $this->redirectPath() przekierowuje do panelu logowania z konkretną informacją.
W którym miejscu mogę w takim razie podpiąć flash data do panelu logowania ...

1 użytkowników online, w tym zalogowanych: 0, gości: 1