Laravel 5身份验证:更改默认路由

时间:2015-05-08 08:32:49

标签: laravel laravel-5 laravel-routing

我刚刚设置了我的Laravel安装,我一直在阅读文档,看来它附带了一个内置的身份验证系统。我想使用它而不是自己构建(我在之前做过)版本)

我的问题是我想将默认路由和结构更改为:

www.example.com/registerwww.example.com/login

目前它使用的是auth文件夹www.example.com/auth/registerwww.example.com/auth/login

我认为我的方式更清洁,更友好。我还想将忘记密码更改为www.example.com/forgot-password

我尝试过各种各样的例子甚至是新的路线等,但我一直在找到一个未找到的例外。这只是困扰我,因为我想保留已经存在的东西,但稍微改变它,因为他们说不修复没有破坏的东西。

希望有人能指出我正确的方向。

2 个答案:

答案 0 :(得分:2)

默认情况下,默认身份验证路由使用Route::controllers(['auth' => 'Auth\AuthController'])Route::controller()方法根据控制器上可用的功能生成路由。

您应该能够移除此行并为其创建自己的路线。如果查看Illuminate/Foundation/Auth/AuthenticatesAndRegistersUsers特征,您可以看到可用的功能。只需将您的路线映射到您的auth控制器上可用的功能。

这是一对夫妇开始

Route::get('/register', ['uses' => 'Auth\AuthController@getRegister']);
Route::post('/register', ['uses' => 'Auth\AuthController@postRegister']);

Route::get('/login', ['uses' => 'Auth\AuthController@getLogin']);
Route::post('/login', ['uses' => 'Auth\AuthController@postLogin']);

答案 1 :(得分:0)

您可以在AuthController中设置$ loginPath属性

这些是您可能还需要的其他一些属性

  1. 注销后重定向用户的位置
    $ redirectAfterLogout

  2. 邮寄注册/登录重定向路径
    $ redirectPath

  3. 登录路线的路径 $ LOGINPATH

  4. 
    
    class AuthController extends Controller {
    
            protected $loginPath = 'login';  //example.com/login
    
            use AuthenticatesAndRegistersUsers;
    
            public function __construct(Guard $auth, Registrar $registrar)
            {
                $this->auth = $auth;
                $this->registrar = $registrar;
                $this->middleware('guest', ['except' => 'getLogout']);
            }
    
        }