Php 更改Laravel 5.2中的登录/注册URL
我目前正在写一个应用程序,它只有公司员工的账户,没有固定的网站访问者。因此,我希望将与网站“管理”区域相关的URL保留在/admin URL下,这意味着将Php 更改Laravel 5.2中的登录/注册URL,php,laravel,Php,Laravel,我目前正在写一个应用程序,它只有公司员工的账户,没有固定的网站访问者。因此,我希望将与网站“管理”区域相关的URL保留在/admin URL下,这意味着将/login更改为/admin/login,将/register更改为/admin/register 然而,我不知道如何在Laravel5.2中更改登录和注册URL,在以前的版本中,似乎只需添加protected$loginPath='/admin/login'到Auth\AuthController但是,将其添加到我的AuthControll
/login
更改为/admin/login
,将/register
更改为/admin/register
然而,我不知道如何在Laravel5.2中更改登录和注册URL,在以前的版本中,似乎只需添加protected$loginPath='/admin/login'
到Auth\AuthController
但是,将其添加到我的AuthController
中时,这没有什么区别
下面是php artisan route的输出:list
+--------+----------+-------------------------+------+-----------------------------------------------------------
| Domain | Method | URI | Name | Action
+--------+----------+-------------------------+------+-----------------------------------------------------------
| | GET|HEAD | / | | App\Http\Controllers\PageController@index
| | GET|HEAD | admin | | App\Http\Controllers\AdminPageController@index
| | GET|HEAD | admin/profile | | App\Http\Controllers\AdminPageController@profile
| | GET|HEAD | login | | App\Http\Controllers\Auth\AuthController@showLoginForm
| | POST | login | | App\Http\Controllers\Auth\AuthController@login
| | GET|HEAD | logout | | App\Http\Controllers\Auth\AuthController@logout
| | POST | password/email | | App\Http\Controllers\Auth\PasswordController@sendResetLink
| | POST | password/reset | | App\Http\Controllers\Auth\PasswordController@reset
| | GET|HEAD | password/reset/{token?} | | App\Http\Controllers\Auth\PasswordController@showResetForm
| | GET|HEAD | register | | App\Http\Controllers\Auth\AuthController@showRegistrationF
| | POST | register | | App\Http\Controllers\Auth\AuthController@register
+--------+----------+-------------------------+------+-----------------------------------------------------------
在L5.2中,所有身份验证路由都分组在一个名为
route::auth()
的路由中
如果搜索符号auth()
,则可以看到包含所有路由链接的auth()函数
检查此文件:illumb\Routing\Router
以获取auth()
函数
但我不确定在这里改变它是否是一种好的做法
编辑:
因此,如果需要更改默认的身份验证路由,请包括所有路由
在routes.php
文件中,根据需要更改uri
要获得参考:
// Authentication Routes...
Route::get('login', 'Auth\AuthController@showLoginForm');
Route::post('login', 'Auth\AuthController@login');
Route::get('logout', 'Auth\AuthController@logout');
// Registration Routes...
Route::get('register', 'Auth\AuthController@showRegistrationForm');
Route::post('register', 'Auth\AuthController@register');
// Password Reset Routes...
Route::get('password/reset/{token?}', 'Auth\PasswordController@showResetForm');
Route::post('password/email', 'Auth\PasswordController@sendResetLinkEmail');
Route::post('password/reset', 'Auth\PasswordController@reset');
使用命名路由,而不是使用
Route::auth()代码>
您可以在带前缀的组内调用Route::auth()
Route::group(['prefix' => 'admin'], function() {
Route::auth();
});
更改供应商文件夹中的任何内容都是不好的做法,尤其是因为在运行composer update时,这些内容将被覆盖。
所以更改Auth::routes()
onroutes/web.php
to
在vendor/laravel/ui/src/AuthRouteMethods.php中,您可以自定义URL。谢谢。重写这些值的最佳实践是什么?恐怕您必须在这里更改它。但请等待他人确认。更改供应商
文件夹中的任何内容都是不好的做法,尤其是因为在运行编写器更新
时,这些内容将被覆盖。只需在路由文件中定义路由。
Route::group(['prefix' => 'admin'], function() {
Route::auth();
});
// 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');