我目前正在编写一个应用程序,该应用程序只有公司员工的帐户,而不是常规网站访问者。因此,我希望在/ admin网址下保留与网站“管理员”区域相关的网址,这意味着将/login
更改为/admin/login
,将/register
更改为{{ 1}}。
但是,我对如何更改Laravel 5.2中的登录和注册URL感到茫然,似乎在以前的版本中,将/admin/register
添加到protected $loginPath = '/admin/login';
是一件简单的事情。但是,将其添加到Auth\AuthController
时,这没有任何区别。
以下是AuthController
;
php artisan route:list
答案 0 :(得分:10)
在L5.2中,所有身份验证路由都分组在名为counter, number_of_true_values
2, 2
1, 0
的路由中。
如果搜索符号Route::auth()
,则可以看到包含所有路径链接的auth()函数。
检查此文件:auth()
以查找Illuminate\Routing\Router
功能。
但我不确定在这里改变它是否是一个好习惯。
修改:
因此,如果您需要更改默认身份验证路由,请包含所有路由 在您的
auth()
文件中,根据需要更改uri。
获得参考:
routes.php
答案 1 :(得分:5)
您可以在前缀组中调用Route::auth()
。
Route::group(['prefix' => 'admin'], function() {
Route::auth();
});
答案 2 :(得分:0)
使用命名路由而不是Route::auth();
Route::get('/admin/login', 'Auth\AuthController@showLoginForm');
Route::post('/admin/login', 'Auth\AuthController@login');
Route::get('/admin/logout', 'Auth\AuthController@logout');
答案 3 :(得分:0)
更改供应商文件夹中的任何内容都是不好的做法,尤其是因为在您运行编辑器更新时,它们都会被覆盖。
所以将Auth::routes();
上的routes/web.php
更改为
// Authentication Routes... $this->get('login', 'Auth\LoginController@showLoginForm')->name('login'); $this->post('login', 'Auth\LoginController@login'); $this->post('logout', 'Auth\LoginController@logout')->name('logout'); // Registration Routes... $this->get('registers', 'Auth\RegisterController@showRegistrationForm'); $this->post('registers', 'Auth\RegisterController@register'); // Password Reset Routes... $this->get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm'); $this->post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail'); $this->get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm'); $this->post('password/reset', 'Auth\ResetPasswordController@reset');
答案 4 :(得分:0)
在 vendor/laravel/ui/src/AuthRouteMethods.php
中,您可以自定义网址。