Laravel 5.2 Auth and Password route


Laravel 5.2 Auth and Password route

我看到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;
    ...
}