我看到Laravel 5.2更改了routes.php
的使用。
事实上,旧的:
Route::controllers([
'auth' => 'Auth'AuthController',
'password' => 'Auth'PasswordController',
]);
现在别工作了。
相反,我发现使用更好
Route::Auth();
但这种方法不像它用来…那样提供密码和注册路线
事实上,我使用了我在Stack Overflow上看到的一个解决方案,使用get and post方法:
// Authentication Routes...
Route::get('login', 'Auth'AuthController@showLoginForm');
[...]
// Registration Routes...
Route::get('register', 'Auth'AuthController@showRegistrationForm');
[...]
// Password Reset Routes...
Route::get('password/reset/{token?}','Auth'PasswordController@showResetForm');
[...]
这非常糟糕,那么对于这个新的Laravel版本,有没有更好地使用5.2 route.php文件呢?
谢谢你的帮助!
由于Laravel 5.2,身份验证系统更容易启动和运行。您可以简单地运行以下命令:
php artisan make:auth
这将负责设置必要的身份验证资源:路由定义、视图等。关于这个主题的更多信息,请参阅Laravel文档。您也可以查看本文,查看Laravel 5.2的其他新功能。
vendor/laravel/framework/src/IIlluminate/Routing/Router.php
对于这个文件身份验证方法,所有路由都定义了
愿此代码对您有所帮助。。
Route::get('auth/login', 'Auth'AuthController@getLogin');
Route::post('auth/login', 'Auth'AuthController@postLogin');
Route::get('auth/logout', 'Auth'AuthController@getLogout');
Route::get('auth/confirm/{token}', 'Auth'AuthController@getConfirm');
对于密码
Route::get('password/email', 'Auth'PasswordController@getEmail');
Route::post('password/email', 'Auth'PasswordController@postEmail');
Route::get('password/reset{token}','Auth'PasswordController@getReset');
Route::post('password/reset', 'Auth'PasswordController@postReset');
如果有人在访问/登录和/注册新的身份验证系统时遇到问题。您应该查看会话文档。
存储会话的方式(或某些部分)发生了更改。您必须设置会话表。如何做到这一点将在文档中解释。
您可以使用别名Route:
Route::get('auth/login', ['as'=>'getLogin', 'uses'=>'Auth'AuthController@showLoginForm'];
Route::post('auth/login', ['as'=>'postLogin', 'uses'=>'Auth'AuthController@postLogin'];
在控制器中创建公共函数:
public function showLoginForm() {
return view('auth.login');
}
public function postLogin(Request $data) {
$users = new User();
$users->username = $data->txtUsername;
...
}