Auth::routes();
Laravel 的用户认证路由,以上等同于:
// Authentication Routes...
Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('login', 'Auth\LoginController@login');
Route::post('logout', 'Auth\LoginController@logout')->name('logout');
// Registration Routes...
Route::get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
Route::post('register', 'Auth\RegisterController@register');
// Password Reset Routes...
Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
Route::post('password/reset', 'Auth\ResetPasswordController@reset');
不用注册的话,把 Registration Routes 删除,所以把 Auth::routes();
替换成以下这段代码即可:
// Authentication Routes...
Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('login', 'Auth\LoginController@login');
Route::post('logout', 'Auth\LoginController@logout')->name('logout');
// Password Reset Routes...
Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
Route::post('password/reset', 'Auth\ResetPasswordController@reset');
@Epona 谢谢解答 :+1:,我还有个疑问,就是比如make:auth,用artisan route:list 查看,会发现有register 和login这两条路由,我只想要login,不想要register这时候怎么处理?
@wyx__ make:auth 的时候,会在routes/web.php文件下添加了了一行代码
Auth::routes(); // 具体记不住了,应该是与这个类似的代码
这一行代码里包含了登录注册所需要的路由,你可以根据 route:list 里面对应的显示,写你需要的路由就可以,不用的就删除掉, 就好了。然后把Auth::routes()
删掉就可以
@Epona 根据你的提示,我找到怎么删除了 :+1:;找到这个文件:vendor\laravel\framework\src\Illuminate\Routing\Router.php中的auth方法,把这里面你不需要的路由直接注释/删除,保存;比如我不需要register的路由直接注释掉,然后在php artisan route:list ,就发现没有了这个路由。接着刷新页面报错:Route [register] not defined. (View: F:\laragon\www\learnLRLR\resources\views\welcome.blade.php);根据这条提示直接找到welcome.blade.php中使用到route('register')的地方注释掉。解决了 :kissing_heart:
Auth::routes();
Laravel 的用户认证路由,以上等同于:
// Authentication Routes...
Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('login', 'Auth\LoginController@login');
Route::post('logout', 'Auth\LoginController@logout')->name('logout');
// Registration Routes...
Route::get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
Route::post('register', 'Auth\RegisterController@register');
// Password Reset Routes...
Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
Route::post('password/reset', 'Auth\ResetPasswordController@reset');
不用注册的话,把 Registration Routes 删除,所以把 Auth::routes();
替换成以下这段代码即可:
// Authentication Routes...
Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('login', 'Auth\LoginController@login');
Route::post('logout', 'Auth\LoginController@logout')->name('logout');
// Password Reset Routes...
Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
Route::post('password/reset', 'Auth\ResetPasswordController@reset');
@doobi 感谢解答 :+1:,我明白你的意思了,就是把Auth:routes()删了,自己重写一遍自己所需的路由。另外还有一个问题想请教;按照这种情况定义路由,如果是大型项目,那web.php 不是要写很多行路由吗??我在github上看别人的laravel项目web.php好像都没有怎么定义路由,那它的路由在哪里定义的呢
推荐文章: