在Laravel 5.8中覆盖默认的Auth路由
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Laravel 5.8中覆盖默认的Auth路由相关的知识,希望对你有一定的参考价值。
我在web.php中使用默认的auth
路由。
此路由复制了`Illuminate / Routing / Router.php'。
我用它来改变默认路线和...在web.php
Route::group([], function (){
// Authentication Routes...
$this->get('login', 'AuthLoginController@showLoginForm')->name('login');
$this->post('login', 'AuthLoginController@login');
$this->post('logout', 'AuthLoginController@logout')->name('logout');
// Registration Routes...
if ($options['register'] ?? true) {
$this->get('register', 'AuthRegisterController@showRegistrationForm')->name('register');
$this->post('register', 'AuthRegisterController@register');
}
// Password Reset Routes...
if ($options['reset'] ?? true) {
$this->resetPassword();
}
// Email Verification Routes...
if ($options['verify'] ?? false) {
$this->emailVerification();
}
});
什么是$options[]
?
我应该在路线组中的哪个位置定义它?
感谢帮助 。
Illuminate/Routing/Router.php
中的这个方法并不像你那样被复制。通常,它应该与Auth
Facade一起使用,如下所示:Auth::routes($options);
。这称为route()
方法,应该在路径文件中完成,如果你没有改变任何东西,通常是web.php
。
这样,确实考虑了选项。现在,在你的情况下,他们不需要一个可选的$options
数组,因为你很难复制路由。
要避免路由文件中的任何错误,您有两种选择:
1)使用Auth::routes()
(如果需要,使用options数组)。您当然可以覆盖要更改的路线。
2)深入了解emailVerification
和resetPassword
方法以复制/粘贴它们引用的路线,并删除路线文件中对$this
和$options
的任何引用
$options
数组用于配置注册,如here所述。因此,它用于指定您是要启用还是禁用用户注册,密码重置和电子邮件验证。
我绝对看到没有任何理由覆盖默认组。根据控制器的说法,只需从web.php中删除Auth::routes()
,然后实现自己的路由。
以上是关于在Laravel 5.8中覆盖默认的Auth路由的主要内容,如果未能解决你的问题,请参考以下文章
此路由不支持 GET 方法。支持的方法:POST。 laravel 5.8 阿贾克斯