我没有在我的应用中使用Laravel的身份验证系统。相反,我创建了自己的一个包裹以下路线:
Route::get('login', array(
'middleware' => 'guest',
'uses' => 'UserController@showLogin'
));
Route::post('login', array(
'uses' => 'UserController@login'
));
登录表单(POST
)有效,用户在成功Auth::attempt()
后重定向。但是,当用户再次尝试访问 / login (GET
)时,即使应用了guest
中间件,也会显示该页面。此外,Auth::check()
会返回false
...
我发现,如果我将get
路由从Route::get('login')
更改为Route::get('anything-else')
,则guest
中间件会突然发挥作用。
我认为这与Laravel如何处理开箱即用的身份验证以及 / login 路径以某种方式"特殊"有关。我觉得很荒谬。如何命名我提供登录功能的页面?
是否有人知道我是否可以使用任何配置从我的应用中删除Laravel的原生身份验证系统?
正如我所写的那样,我使用自定义的一个,我真的想恢复命名我的路线的自由,但我请不要失去基本的功能。