用户认证
介绍
Laravel 让用户认证变得非常简单。几乎所有的认证行为都可以通过配置信息 config/auth.php
来控制。
数据库注意事项
默认的 Laravel 在 app
文件夹中会含有 App\User
Eloquent 模型。这个模型将使用默认的 Eloquent 认证来驱动。如果你的应用程序没有使用 Eloquent,请选择使用 Laravel 查询构造器的 database
认证驱动。
为 App\User
模型创建数据库表结构时,确认密码字段最少必须 60 字符长。
users
数据表中必须含有 nullable 、100 字符长的 remember_token
字段,这个字段将会被用来保存「记住我」 session 的令牌。只要在创建迁移时,使用 $table->rememberToken()
,即可轻松加入这个字段。
认证快速入门
Laravel 带有两个认证控制器,它们被放置在 App\Http\Controllers\Auth
命名空间内,AuthController
处理用户注册及认证,而 PasswordController
负责处理重置用户的密码。
这些控制器使用了 trait 来包含所需要的方法,对于大多数的应用程序而言,你并不需要修改这些控制器。
路由
默认没有 路由 指向这些认证控制器,需要自己添加到 app/Http/routes.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/register', 'Auth\AuthController@getRegister');
Route::post('auth/register', 'Auth\AuthController@postRegister');