ある日、laravelのログを見ていると、Route [login] not defined.というエラーが発生していました。
どうやら、存在しないURLやtoken認証が外れたときにサイトへアクセスすると、デフォルトの設定ではLoginへ遷移するようです。
今のシステムにはloginというRouteは存在しないので、エラーとなっていたようです。
Routeにloginが存在しないことが原因ですが、サイトの仕様によってはloginが無い場合もあります。
そこでlogin以外に遷移させたい場合には、app\Http\Middleware\Authenticate.phpを修正しましょう。
# app\Http\Middleware\Authenticate.php
class Authenticate extends Middleware
{
/**
* Get the path the user should be redirected to when they are not authenticated.
*
* @param \Illuminate\Http\Request $request
* @return string|null
*/
protected function redirectTo($request)
{
if (! $request->expectsJson()) {
return route('login');
}
}
}
return route(‘login’)の部分を変更すればOKです。