strato authentiction di laravel generato l'evento multiplo quando diverse azioni di autenticazione legati accadere:
- auth.attempt - quando l'utente tenta di autenticare
- auth.login - quando l'utente autentica correttamente
- auth.logout - quando l'utente logout
È possibile ascoltare per quegli eventi (auth.login nel tuo caso) e applicare le azioni necessarie senza copiare un codice da un tratto, che renderebbe di aggiornare il codice manualmente se alcune modifiche capita come funziona l'autenticazione.
In primo luogo, è necessario creare una classe ascoltatore:
class AuthLoginHandler {
public function handle(User $user, $remember) {
// do whatever you need to do after user authenticates
}
}
quindi registrare l'ascoltatore nel vostro EventServiceProvider classe:
protected $listen = [
'auth.login' => [
AuthLoginHandler::class
],
];
del vostro gestore handle() metodo sarà ora chiamato ogni volta che l'utente effettua l'autenticazione, anche se si dispone di più moduli di accesso per diversi tipi di utenti o anche di altre forme di autenticazione rispetto a un modulo.
Potete leggere di più sugli eventi in laravel qui: http://laravel.com/docs/5.1/events#defining-listeners
fonte
2015-08-16 13:58:05
codice Copia da un tratto non è l'opzione migliore. La logica di autenticazione nel tratto potrebbe cambiare nelle versioni future e non si rifletterà nel codice. Laravel genera eventi quando gli utenti vengono autenticati e questi devono essere utilizzati per separare la logica di autenticazione da azioni aggiuntive che devono essere eseguite. –
Vedere un esempio di utilizzo degli eventi di autenticazione nella risposta –
@ jedrzej.kurylo Concordato. Ho completamente dimenticato gli eventi. Gli eventi sono il posto migliore per collegare il tuo codice. su votato. –