• 讲点登录业务


    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.自包含令牌:**里面包含认证信息

  • 相关阅读:
    【luogu P3249】【LOJ 2052】矿区(对偶图)(dfs)
    互联网摸鱼日报(2022-11-01)
    Python之异常处理语句
    【附源码】计算机毕业设计SSM摊位管理系统
    linux中磁盘满了?一招教你快速清理
    STM32 IWDG&WWDG
    抽象文本摘要中的事实不一致问题:一项调查
    【Truffle】一、Truffle的安装与部署
    【蓝桥杯省赛真题46】python数字币统计 中小学青少年组蓝桥杯比赛 算法思维python编程省赛真题解析
    重读经典《操作系统:设计与实现》
  • 原文地址:https://blog.csdn.net/weixin_57128596/article/details/128167995