分布式系统认证/授权
目前分布式系统存在两种常用的认证授权方式:
分布式session和token

1.session的概念
session中存放登录用户的个人信息,创建session时,随机生成一个session_id和其绑定,session_id会随cookie下发到客户端
session_id --- 服务器根据session_id查找session
cookies --- 存放session_id,客户端请求时,浏览器自动带上cookies中的session_id
2.分布式session的概念
用户登录后返回session_id()
后续用户请求时,服务器根据这个session_id到一个集中存储session的地方来查询session(可以做成session微服务)
这样应用服务器上不用存储session,也能达到应用服务器无状态(状态转移到某个集中存储session的系统了)
3.token的概念
通常意义的token是把session中的内容都放到token中(可以明文形式或者用对称加密算法加密(加密密钥放在服务器端)),
再把这些内容做hash签名(密钥在服务器),把内容和其签名拼接成一个字符串(这个就是token) 发送给客户端,
客户端后续请求都带上这个token,服务器首先校验token是否被篡改(根据hash签名校验),如果没被篡改而且token
也没过期(token中一般会有其生成时的时间),就把token中的用户信息(可能还有权限信息等等)拿出来,直接使用,
不需要像session一样去查询具体用户信息。

使用hash签名(无法篡改)
服务器签发(无法伪造)
过期时间都是服务器时间
密钥都在服务器管理

JST(Json Web Token)规范
4.session_id和token区别
session_id和token都是登录后服务器返回的登录凭证,后续请求都要带上这个登录凭证,
他们主要区别是session_id都是一个随机字符串(所以服务器需要保存这个随机字符串和用户个人信息的对于关系),
而token是一个相对固定的字符串(用户个人信息是不变的,token生成时间会变化)
5.分布式session和token的区别
token是正真的无状态,不用存储映射关系,只通过CPU计算(加密/签名)来认证token并获取用户个人信息
分布式session 只是把session集中存储,保证应用服务器无状态

最新文章

  1. android 开发怎么让程序生成的图片文件不会被系统扫描到
  2. 【SNMP】Linux系统下安装net-snmp
  3. VisualStudio2010中创建ASP.Net WebService
  4. Implement the hash table using array / binary search tree
  5. SQL Server 2008中增强的"汇总"技巧
  6. ORACLE SQL 组函数【weber出品必属精品】
  7. if条件语句练习(相亲)
  8. 【C语言的日常实践(十二)】命令行参数
  9. Impala源代码分析---1
  10. Python3基础 set() 集合 创建集合与特点:自动将重复合并掉 不支持索引
  11. Thread.join()的使用
  12. 接口调用 GET方式
  13. P20 旅行助手,从未有过的至尊私人导游服务!
  14. 蓝书例题之UVa 10253 Series-Parallel Networks
  15. javascript 模板
  16. 13.缓存、三级缓存、内存溢出、AsyncTask
  17. Xamarin.Android 调用手机拍照功能
  18. 自学Python2.1-基本数据类型-字符串方法 下
  19. 多种方式判断PC端,IOS端,移动端
  20. IT部门的“2/8”现状

热门文章

  1. 八、React实战:可交互待办事务表(表单使用、数据的本地缓存local srtorage、生命同期函数(页面加载就会执行函数名固定为componentDidMount()))
  2. 寒假第一发(CF水题两个)
  3. Profiling Top Kagglers: Bestfitting, Currently #1 in the World
  4. idea修改web项目的访问路径
  5. Day3-T3
  6. C++的模板类:不能将定义与声明写在不同文件中
  7. 如何在Swift的代码中使用OC的代码, 在OC的代码中使用Swift的代码?
  8. HZNU-ACM寒假集训Day10小结 树-树形DP
  9. [题解] LuoguP4381 [IOI2008]Island
  10. 爱奇艺用券付费VIP电影+python爬虫程序+可视化界面+下载本地