更改Laravel 5.2中的登录/注册URL

时间:2016-02-09 17:19:17

标签: php laravel

我目前正在编写一个应用程序,该应用程序只有公司员工的帐户,而不是常规网站访问者。因此,我希望在/ admin网址下保留与网站“管理员”区域相关的网址,这意味着将/login更改为/admin/login,将/register更改为{{ 1}}。

但是,我对如何更改Laravel 5.2中的登录和注册URL感到茫然,似乎在以前的版本中,将/admin/register添加到protected $loginPath = '/admin/login';是一件简单的事情。但是,将其添加到Auth\AuthController时,这没有任何区别。

以下是AuthController;

的输出
php artisan route:list

5 个答案:

答案 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 中,您可以自定义网址。

相关问题