laravel 7 身份验证::路由不适用于禁用注册和密码重置



我有一个项目从laravel 5.4升级到7.6.2,一切都很好,只是我无法使用has('password.request'(从刀片删除注册和密码重置路由。

根据文档,我使用以下选项作为web.php路由文件中的第一行:

Auth::routes(['register' => false, 'request' => false, 'reset' => false]);

问题是以下代码仍在执行:

@if (Route::has('password.request'))
<a class="btn btn-link" href="{{ route('password.request') }}">
{{ __('Forgot Your Password?') }}
</a>
@endif

同样在stackoverflow上,我也删除了ResetPasswordController.php、RegisterController.php和ForgotPasswordControllerphp,但在运行"composer dump"后,当我调用has("password.request"(时,路由仍然可用。

显而易见,如果我点击重置请求,路由不存在,用户无法重置密码,但我想了解我是否以正确的方式进行了重置。我的疑问大多围绕着有("密码.请求"(,为什么还总是真的?

好吧,经过两个小时的挖掘。。。我刚刚发现,出于某种原因,我对Auth::routes((有两个不同的调用。

第一个是带有所有更正参数的mine调用,第二个位于web.php路由文件的末尾,为空!所以我"重置"了我自己的设置:(

我不知道怎么会发生。。。很可能是在从5.4到7.x 的迁移过程中出现的错误

最新更新