Errore di reindirizzamento dell'authentication Laravel

Sono nuovo di Laravel quindi scusami per la mia ignoranza. Sto seguendo le esercitazioni per principianti e mi sono bloccato sul sistema di authentication integrato …

Ho creato una nuova app e ho seguito i documenti sull'impostazione dell'authentication, ho cercato attraverso lo stack overflow e superato un problema (ho dovuto inserire le route auth nel gruppo middleware), ma ora non import cosa lo faccio reindirizza alla root "/" path … anche quando passo manualmente ad auth / logout e poi auth / login … qualcuno può aiutarmi?

In Laravel 5.2 dopo aver eseguito il loro standard

> php artisan make:auth

supponiamo di voler garantire l'authentication dell'utente quando si accede a /admin route.

Nel routes.php ci sarà una voce come questa:

 Route::group(['middleware' => ['web', 'auth']], function() { // Only authenticated users may enter... Route::get('/admin', [ 'as' => 'admin', 'uses' => '[email protected]' ]); }); 

e in AuthController.php deve essere aggiunto un metodo aggiuntivo:

 class AuthController extends Controller { ... public function authenticated() { return redirect()->intended(); } } 

Di conseguenza each volta che un utente non autenticato tenta di accedere a /admin URL verrà reindirizzato ad una pagina /login e se l'authentication ha esito positivo sarà in grado di accedere alla pagina di /admin .

Alcuni punti da notare nel codice qui sopra:

  • sono richiesti sia web gruppi di middleware web che auth ( auth senza web non avrà supporto di session e di conseguenza url.intended non viene salvato nella session e l'integer meccanismo di reindirizzamento non funziona)
  • il nome del metodo in AuthController è authenticated e non authenticate menzionato nella documentazione di Laravel (viene chiamato una volta verificata l'authentication)

Penso di aver frainteso, i tuoi routes dovrebbero assomigliare a questo.

 Route::get('auth/login', 'Auth\[email protected]'); Route::post('auth/login', 'Auth\[email protected]'); Route::get('auth/logout', 'Auth\[email protected]'); 

e dovresti avere alless il model login.blade.php nella cartella Auth (nelle viste).

Se hai veramente intenzione di ricominciare, considera di eliminare la domanda in quanto non aiuta veramente nessuno nel suo stato attuale.


Prova questo nel tuo controller Auth

  public function authenticated( $request, $user ) { return redirect()->intended($this->redirectPath().'?success'); }