• 讲点登录业务


    1.单点Session

    通过判断用户是否有服务器赋予的session_id,点对点服务器的用户信息,确认用户身份
    缺点: 单点性能压力大无法扩展,如果是分布式的话,其他的服务怎么进行认证呢?
    在这里插入图片描述

    2.Redis解决共享问题

    我们可以将session的认证信息(多个服务session肯定是不一样的,毕竟服务器都不一样了),我们可以放到Redis 中——>来保证Session共享数据信息;

    3.token

    利用Token结合用户的唯一标识生成一个唯一id(作为用户凭证),**(作为key,value为用户信息)**放到Redis中,当用户进行登录的时候,对token进行解析,如果redis中取不到数据就失败,否则就成功——>相当于在服务上面盖了一层redis作为全局的一种体现
    在这里插入图片描述
    **区别:**客户端保存token,根据用户输入的用户密码生成token(比如JWT生成的),然后生成的token去校验如果符合要求就过(体现的就是无状态);

    https://blog.csdn.net/weixin_57128596/article/details/127977743?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167008184216800182797478%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=167008184216800182797478&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogfirst_rank_ecpm_v1~rank_v31_ecpm-1-127977743-null-null.nonecase&utm_term=RSA&spm=1018.2226.3001.4450
    打算用RSA做token加密

    4.SSO模式

    压力全部来到认证中心,去任意一个服务都要认证,全局的认证是Redis缓存的,查询用户先去缓存中看是否存在
    在这里插入图片描述

    JWT令牌组成

    **Header:**里面是放类型的,一般JWT类型,可以设置加密的算法(非对称加密等等)
    **PAYLOAD:**一般是放数据
    签名哈希:本质利用的base64编码方案进行编码——>只是对数据进行编码,所以我们的数据不能暴露(紫色那部分)
    https://blog.csdn.net/aozeahj/article/details/52507352
    在这里插入图片描述

    JWT的用法

    我们一般是将token放在header或者body中不然会因为跨域的问题,后端无法接收(Cookie)
    在这里插入图片描述

    5.JWT的问题趋势

    在这里插入图片描述

    令牌类型

    **1.透明令牌:**随机生成字符串标识符,没有包含认证信息
    **2.自包含令牌:**里面包含认证信息

  • 相关阅读:
    VR全景HDR拍摄教程
    三色标记整理
    微信小程序 - WXML 模板语法 - 事件绑定
    太速科技-基于XC7V690T的12路光纤PCIe接口卡
    FA-Phe-Gly-Gly,64967-39-1
    WebSocket的那些事(5-Spring STOMP支持之连接外部消息代理)
    指针学习总结
    在window环境下安装numpy模块(包)
    问题 B: 邻接表存储的图转化为邻接矩阵存储的图-附加代码模式
    CSS变量之var()函数的应用——动态修改样式 & root的使用
  • 原文地址:https://blog.csdn.net/weixin_57128596/article/details/128167995