Quando si esegue il logout in Laravel 5 e 5.1, viene chiamato AuthenticatesUsers e il metodo getLogout. Poiché si trova nella directory Illuminate, non è bello scrivere direttamente in questo file. È meglio riscrivere il metodo getLogout da un Auth\AuthController.
Normalmente AuthCntroller, potrebbe utilizzare queste caratteristiche:
utilizzare AuthenticatesAndRegistersUsers, ThrottlesLogins;
Ora rinomineremo il getLogout del tratto AuthenticatesUsers:
usa AuthenticatesAndRegistersUsers { getLogout come authLogout; } usa ThrottlesLogins;
Ora possiamo riscrivere getLogout e continuare a usare/ereditare la classe del vecchio tratto:
/** * Sovrascrivi il metodo getLogout del tratto AuthenticatesUsers e richiamalo, poiché è stato rinominato come $this->authLogout(); * @return Response */ public function getLogout() { if (!empty(URL::previous()) && !str_contains(URL::previous(), "auth/")) { $this->redirectAfterLogout = URL::previous(); // Se possibile, torna all'URL precedente } alert()->success('Sei disconnesso', 'Disconnetti'); // Invia un messaggio flash, ad esempio con il pacchetto SweetAlert: https://github.com/uxweb/sweet-alert return $this->authLogout(); // resto del vecchio metodo del tratto }
Era proprio quello che cercavo! Grazie per averlo pubblicato!
GRAZIE. Non sapevo di questa caratteristica