Volevo fare la stessa cosa in Laravel 5.5. La gestione dell'autenticazione è stata spostata su Illuminate\Auth\Middleware\Authenticate
che genera uno .
Tale eccezione viene gestita in Illuminate\Foundation\Exceptions\Hander.php
, ma non si desidera modificare i file del fornitore originale, quindi è possibile sovrascriverlo con i propri file di progetto aggiungendolo a App\Exceptions\Handler.php
.
Allo scopo, aggiungere il seguente al primo della classe Handler
in App\Exceptions\Handler.php
:
use Illuminate\Auth\AuthenticationException;
e quindi aggiungere il seguente metodo, modificando, se necessario:
/**
* Convert an authentication exception into an unauthenticated response.
*
* @param \Illuminate\Http\Request $request
* @param \Illuminate\Auth\AuthenticationException $exception
* @return \Illuminate\Http\Response
*/
protected function unauthenticated($request, AuthenticationException $exception)
{
if ($request->expectsJson()) {
return response()->json(['error' => 'Unauthenticated.'], 401);
}
return redirect()->guest('login'); //<----- Change this
}
basta cambiare return redirect()->guest('login');
a return redirect()->guest(route('auth.login'));
o qualsiasi altra cosa.
Ho voluto scriverlo perché mi ci sono voluti più di 5 minuti per capirlo. Per favore mi mandi una riga se ti è capitato di trovarlo nei documenti perché non potevo.
fonte
2016-09-19 10:53:00
come posso fare questo in moduli middelware –