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

Laravel 5 Authentication: change the default routes

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

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

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

目前它使用 auth 文件夹,所以 www.example.com/auth/registerwww.example.com/auth/login

我只是觉得我的方式更简洁,更人性化。我也想把忘记密码改成www.example.com/forgot-password

我尝试了各种示例甚至新路线等,但我一直收到未找到的异常。这让我很烦恼,因为我想保留已经存在的东西,但稍微改变一下,因为他们说不要修复没有损坏的东西。

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

您可以在 AuthController

中设置 $loginPath 属性

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

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

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

  3. 登录路由的路径。
    $登录路径



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']);
        }

    }

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

您应该可以删除此行并为它们创建自己的路线。如果您查看 Illuminate/Foundation/Auth/AuthenticatesAndRegistersUsers 特征,您可以看到可用的功能。只需将您的路线映射到您的授权控制器上可用的那些功能。

这里有一些可以帮助您入门

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']);