Php 获取路径的路径“/“登录”;不适用于来宾中间件和身份验证facade

Php 获取路径的路径“/“登录”;不适用于来宾中间件和身份验证facade,php,laravel,laravel-5,Php,Laravel,Laravel 5,我的应用程序中没有使用Laravel的身份验证系统。取而代之的是,我创建了自己的一个围绕以下路线的路线: Route::get('login', array( 'middleware' => 'guest', 'uses' => 'UserController@showLogin' )); Route::post('login', array( 'uses' => 'UserController@login' )); 登录表单(POST)工作正常,用

我的应用程序中没有使用Laravel的身份验证系统。取而代之的是,我创建了自己的一个围绕以下路线的路线:

Route::get('login', array(
    'middleware' => 'guest',
    'uses' => 'UserController@showLogin'
));

Route::post('login', array(
    'uses' => 'UserController@login'
));
登录表单(
POST
)工作正常,用户在成功
Auth::trunt()
后会被重定向。但是,当用户再次尝试访问/login时(
GET
),即使
guest
中间件已应用于该页面,也会显示该页面。此外,
Auth::check()
返回
false

我发现,如果我将
get
路由从
route::get('login')
更改为
route::get('anything-other')
,那么
guest
中间件会突然工作

我假设这与Laravel如何处理开箱即用的身份验证有关,/login路径在某种程度上是“特殊的”。我觉得很可笑。否则,我将如何命名提供登录功能的页面

有人知道我是否可以使用任何配置从我的应用程序中删除Laravel的本机身份验证系统吗?


正如我所写的,我正在使用自定义路由,我真的希望在不丢失基本功能的情况下重新获得命名路由的自由。

那么,您是否有“围绕以下路由”的中间件?如果是这样,那就是问题所在。
guest
中间件不应位于其他身份验证中间件内部。
guest
中间件随Laravel提供。除了在
Route::get('login')
上使用它之外,在任何其他地方都可以使用它。问题是我的身份验证系统(意思是我的路线)可能和拉雷维尔的发生了冲突。或者,更确切地说,拉雷维尔的和我的相撞。我想知道如何用auth实现告诉Laravel:GTFO,算了吧;)
UserController
中有控制器中间件吗?@DavidBarker没有<代码>用户控制器非常简单-显示登录页面、登录用户并重定向、注销。如果您不告诉Laravel,它不会与自定义身份验证冲突。您需要确保您的
登录
路线仅连接到
来宾
中间件。其他一切都应该有
auth
中间件。那么,您是否有“围绕以下路径”的中间件?如果是这样,那就是问题所在。
guest
中间件不应位于其他身份验证中间件内部。
guest
中间件随Laravel提供。除了在
Route::get('login')
上使用它之外,在任何其他地方都可以使用它。问题是我的身份验证系统(意思是我的路线)可能和拉雷维尔的发生了冲突。或者,更确切地说,拉雷维尔的和我的相撞。我想知道如何用auth实现告诉Laravel:GTFO,算了吧;)
UserController
中有控制器中间件吗?@DavidBarker没有<代码>用户控制器非常简单-显示登录页面、登录用户并重定向、注销。如果您不告诉Laravel,它不会与自定义身份验证冲突。您需要确保您的
登录
路线仅连接到
来宾
中间件。其他一切都应该有
auth
中间件。