7.2. 会话

本教程最新版为 9.x,当前版本已放弃维护,请阅读最新版本!

会话

由于 HTTP 协议是无状态的,我们无法在两个页面之间保证用户身份的同步,因此我们需要借助会话在浏览器中临时存储用户的身份信息,进而保证在同一浏览器中,用户在不同页面具有相同的登录状态。

接下来让我们来新建分支,开始进行登录和退出相关功能的开发。

$ git checkout master
$ git checkout -b login-logout

会话控制器

首先我们要新建一个会话控制器,该控制器将用于处理用户登录退出相关的操作。你可以把会话理解为我们之前谈到过的资源,当用户登录成功时,会话将被创建;当用户退出登录时,会话会被销毁。只是在这里会话并不会保存到数据库中,而是保存在浏览器上。让我们运行下面命令来生成会话控制器。

$ php artisan make:controller SessionsController

下面我们还需要对路由进行配置,添加一些接下来需要用到的路由,新增的路由分别对应会话控制器的三个动作:create, store, destroy。

routes/web.php

<?php

Route::get('/', 'StaticPagesControlle...

本文章首发在 LearnKu.com 网站上。

为了保证课程的高品质,我们需要对课程进行收费。付费后 才能观看剩余内容。 购买

上一篇 下一篇
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
贡献者:2
讨论数量: 43

a_bing
我不信你们没遇到这个错:Class '\App\User' not found
22 个点赞 | 16 个回复 | 分享 | 课程版本 5.5
Martin567
怎么知道我要验证的是 users 表的数据呢?
2 个点赞 | 5 个回复 | 问答 | 课程版本 5.5
挪威的草原
Auth::attempt () method 怎么知道要去比对哪张表?
2 个点赞 | 3 个回复 | 分享 | 课程版本 5.5
EastGreatwolf
shared._errors 和 Auth::user () 两个问题?
1 个点赞 | 12 个回复 | 问答 | 课程版本 5.5
wandell
账号密码都正确一直提示账号密码不正确
1 个点赞 | 11 个回复 | 问答 | 课程版本 5.7
抠脚大叔
用户身份进行认证 这步出错? if (Auth::attempt ($credentials))
1 个点赞 | 6 个回复 | 问答 | 课程版本 5.5
ifishzz
登录后的报错?
1 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
这里的 use Auth 是代表引入一个全局类吗?
1 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
EagleGorge
Bootstrap Dropdown 下拉菜单无响应的原因
1 个点赞 | 0 个回复 | 分享 | 课程版本 5.8
不温柔
Class '\App\User' not found
0 个点赞 | 9 个回复 | 问答 | 课程版本 5.7
卡尔西法
Class\User 类未找到
0 个点赞 | 7 个回复 | 问答 | 课程版本 5.5
DanielDu
超时后输入 login 路由访问后重新登录还是 419 错误?
0 个点赞 | 7 个回复 | 教程 | 课程版本 5.7
helper
跟着教程走出现 validateName does not exist. (已经解决)
0 个点赞 | 6 个回复 | 问答 | 课程版本 5.5
Chantszo
表单提交失败 old () 方法获取不到历史数据 ,什么原因?
0 个点赞 | 5 个回复 | 问答 | 课程版本 5.5
uyynot
登录会话验证
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
将狼踩尽
use App\Http\Requests;然后 Requests 显示 Undefined Class
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
wfdaj
session ()->flash () 不显示错误信息
0 个点赞 | 3 个回复 | 问答 | 课程版本 6.x
Narcissus
登录时为什么不需要指定 guard 看守
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
不知道问题错误在哪里?????
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
xingxiaoli
关于 Auth::user () 返回的数据问题?
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
kerry
登陆以后出现错误?
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
FM
Laravel5.5 手动登录验证登录失败?
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
chesterlyd
注册之后登录显示邮箱和密码不匹配
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.8
looker
Class '\App\Models\User' not found
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.7
freeboy
Method attemtp does not exist
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
TommyTu
使用 Auth::attempt ($credentials) 就会报错, 求解?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
stefen
验证登录问题?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
BarryBooder
Auth::attempt($credentials)返回值为空
0 个点赞 | 1 个回复 | 问答 | 课程版本 9.x
关于Auth::user()
0 个点赞 | 1 个回复 | 问答 | 课程版本 9.x
懒惰的大叔
Auth::attempt($credentials) 返回的一直是false
0 个点赞 | 1 个回复 | 问答 | 课程版本 8.x
Hong_Tao_Liu
使用 Auth::attempt 方法时遇到 SQLSTATE 错误
0 个点赞 | 1 个回复 | 问答 | 课程版本 6.x
happyplay008
关于 Auth::user () 用法
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
xinjiahui
登陆后有报错?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
anningri
碰到 View [sessions.create] not found.(已解决)
0 个点赞 | 0 个回复 | 问答 | 课程版本 5.7
xuluheng666
Class '\App\Models' not found
0 个点赞 | 0 个回复 | 问答 | 课程版本 5.7