- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
服务 ―― ⽤户认证
服务 —— ⽤户认证
1、简介
Laravel 中实现⽤户⾮常简单。实际上,⼏乎所有东西都已经为你配置好了。配置⽂件
位 config/auth.php,其中包含了⽤ 调整认证服务⾏为的、⽂档友好的选项配
置。
1.1 数据库考量
默认情况下,Laravel在app⽬录下包含了⼀个Eloquent模型App\User,这个模型可以
和默认的Eloquent认证驱动⼀起使⽤。如果你的应⽤不使⽤Eloquent ,你可以使
⽤database认证驱动,该驱动使⽤了Laravel查询构建器。
为App\User模型构建数据库表结构的时候,确保password字段长度⾄少有60位。
还有,你应该验证users表包含了可以为空的、字符串类型的remember_token字
段长度为100 ,该字段⽤ 存储被应⽤维护的”记住我 (remember me )“的session令
牌,这可以通过在迁移中使⽤$table-rememberToken( ;来实现。
2、⽤户认证快速⼊门
Laravel处理两个认证控制器,位 App\Http\Controllers\Auth和认证,
PasswordController`包含帮助⽤户找回密码的逻辑。每个控制器都使⽤trait来引⼊它们
需要的⽅法。对很多应⽤⽽⾔,你根本不需要修改这两个控制器。
2.1 路由
默认情况下,没有路由将请求指向⽤户认证控制器,你要⼿动
在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 ;
2.2 视图
尽管框架包含了⽤户认证控制器,你还是需要提供这些控制器可以渲染的视图。这些
视图位 resources/views/auth⽬录,你可以按需⾃定义视图
是resources/views/auth/login.blade.php,注册视图
是resources/views/auth/register.blade.php。
2.2.1 登录表单⽰例
!-- resources/views/auth/login.blade.php --
form method=POST action=/auth/login
{!! csrf_field( !!}
div
Email
input type=email name=email value={{ old(email }}
/div
div
Password
input type=password name=password id=password
/div
div
input type=checkbox name=remember Remember Me
/div
div
button type=submitLogin/button
/div
/form
2.2.2 注册表单⽰例
!-- resources/views/auth/register.blade.php --
form method=POST action=/auth/register
{!! csrf_field( !!}
div
Name
input type=text name=name value={{ old(name }}
/div
div
Email
input type=email name=email value={{ old(email }}
/div
div
Password
input type=
文档评论(0)