我刚刚设置了我的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
我尝试过各种各样的例子甚至是新的路线等,但我一直在找到一个未找到的例外。这只是困扰我,因为我想保留已经存在的东西,但稍微改变它,因为他们说不修复没有破坏的东西。
希望有人能指出我正确的方向。
答案 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属性
这些是您可能还需要的其他一些属性
注销后重定向用户的位置
$ redirectAfterLogout
邮寄注册/登录重定向路径
$ redirectPath
登录路线的路径 $ LOGINPATH
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']);
}
}