Laravel 5 身份验证:更改默认路由
Laravel 5 Authentication: change the default routes
我刚刚设置了我的 Laravel 安装,我一直在阅读文档,它似乎带有内置的身份验证系统。我想使用它而不是构建我自己的(我在之前的版本里做过)
我的问题是我想将默认路由和结构更改为:
www.example.com/register
和 www.example.com/login
目前它使用 auth 文件夹,所以 www.example.com/auth/register
和 www.example.com/auth/login
我只是觉得我的方式更简洁,更人性化。我也想把忘记密码改成www.example.com/forgot-password
我尝试了各种示例甚至新路线等,但我一直收到未找到的异常。这让我很烦恼,因为我想保留已经存在的东西,但稍微改变一下,因为他们说不要修复没有损坏的东西。
希望有人能指出我正确的方向。
您可以在 AuthController
中设置 $loginPath 属性
这些是您可能还需要的一些其他属性
注销后重定向用户的位置
$redirectAfterLogout
post注册/登录重定向路径
$redirectPath
登录路由的路径。
$登录路径
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']);
我刚刚设置了我的 Laravel 安装,我一直在阅读文档,它似乎带有内置的身份验证系统。我想使用它而不是构建我自己的(我在之前的版本里做过)
我的问题是我想将默认路由和结构更改为:
www.example.com/register
和 www.example.com/login
目前它使用 auth 文件夹,所以 www.example.com/auth/register
和 www.example.com/auth/login
我只是觉得我的方式更简洁,更人性化。我也想把忘记密码改成www.example.com/forgot-password
我尝试了各种示例甚至新路线等,但我一直收到未找到的异常。这让我很烦恼,因为我想保留已经存在的东西,但稍微改变一下,因为他们说不要修复没有损坏的东西。
希望有人能指出我正确的方向。
您可以在 AuthController
中设置 $loginPath 属性这些是您可能还需要的一些其他属性
注销后重定向用户的位置
$redirectAfterLogoutpost注册/登录重定向路径
$redirectPath登录路由的路径。
$登录路径
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']);