Session、Cookie理解及SSO(单点登录--cas)
来源:互联网 发布:java字符串前后去空格 编辑:程序博客网 时间:2024/06/05 21:50
http://www.imooc.com/article/3555
HTTP是一个无状态协议。即对服务器来说,每次收到的浏览器HTTP请求都是单一独立的,服务器并不考虑两次HTTP请求是否来自同一会话,即HTTP协议是非连接会话状态协议。
对于Web应用登录,意味着登录成功后的后续访问,可以看做是登录用户和服务端的一次会话交互过程,直到用户登出结束会话。
如何在非连接会话协议之上,实现这种会话的管理? 我们需要额外的手段:
1.通过使用HTTP请求参数传递,这种方式对应用侵入性较大,一般不使用。
2.另一种方式就是通过cookie
cookie是HTTP提供的一种机制,cookie代表一小撮数据。服务端通过HTTP响应创建好cookie后,浏览器会接收下来,下次请求会自动携带上返回给服务端
用cookie的话可以通过保存账号密码,但是感觉这样很麻烦,还要往后台查数据库。
比较好的方式是服务端保存,cookie只保存会话信息的句柄。即在登录成功后,服务端可以创建一个唯一登录会话,并把会话标识ID通过cookie返回给浏览器,浏览器下次访问时会自动带上这个ID,服务端根据ID即可判断是此会话中的请求,从而判断出是该用户,这种操作直到登出销毁会话为止(感觉就是手动实现session)。
令人高兴的是,我们使用的Web应用服务器一般都会提供这种会话基础服务,如Tomcat的Session机制。
对于Cookie,处于安全性考虑,它有一个作用域问题,这个作用域由属性Domain和Path共同决定的。也就是说,如果浏览器发送的请求不在此Cookie的作用域范围内,请求是不会带上此Cookie的。
Path是访问路径,我们可以定义/根路径让其作用所有路径,Domain就不一样了。我们不能定义顶级域名如.com,让此Cookie对于所有的com网站都起作用,最大范围我们只能定义到二级域名如.taobao.com,而通常,企业的应用群可能包含有多个二级域名,如taobao.com、tmail.com、alitrip.com等等(这个就是cookie仅作用部分网页的原因)。
所以为了处理多系统的登录,所以要使用SSO
https://zhuanlan.zhihu.com/p/25007591
csdn的sso就完全和文章说的一样。
- Session、Cookie理解及SSO(单点登录--cas)
- CAS单点登录(SSO)介绍及部署
- CAS单点登录(SSO)
- 单点登录sso cas
- CAS SSO单点登录
- CAS sso单点登录
- cas sso 单点登录
- CAS单点登录(SSO)服务器配置
- CAS实现单点登录(SSO)
- CAS实现SSO(单点登录)
- CAS单点登录(SSO)服务器配置
- CAS实现单点登录(SSO)
- cas单点登录(sso)简单Demo
- 单点登录(SSO)、CAS介绍
- CAS单点登录(SSO)总结
- JAVA CAS单点登录(SSO)
- CAS SSO单点登录实例
- CAS解决单点登录SSO
- fixed针对于其他元素定位、父级
- Toast,popupWindow,AlertDialog
- phpstorm 配置 PHP_CodeSniffer
- 移动端相册开发
- linux笔记-1
- Session、Cookie理解及SSO(单点登录--cas)
- vue-devtools的安装与使用
- 计算器
- Ubuntu Windows分区挂载
- 看完让你彻底搞懂Websocket原理
- MATLAB 给定一组二维坐标,拟合曲线并且取曲线上任意点的坐标方法,或者均分定义域,得到对应值方法
- error LINK1123
- <Unknown column 'card_id' in 'order clause'>
- Javascript学习笔记(对象)