• 数字化之单点登录的三种方式


     

    一、单一服务器模式登录

     

    二、集群部署

     

     

    三、单点登录的三种常见方式 

    1.session广播机制实现

    2.使用cookie+redis实现

    2.1在项目中任何一个模块登录,登录之后,把数据放到这两个地方

    2.2访问项目中其他模块,发送请求带着cookie进行发送,获取cookie值,拿着cookie做事情

    3使用token实现(推荐使用)

    3.1token是什么

    3.2实现方式

     

    一、单一服务器模式登录
    使用session对象实现

    *登陆成功后,把用户数据放到session里面                     session.setAttribute("user",user)

    *判断是否登录,从session获取数据,可以获取到登录   session.getAttribute("user")

    二、集群部署
    单点登录(Single Sign On),简称为 SSO,是比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 

    三、单点登录的三种常见方式 
    1.session广播机制实现
    在一个集群中的一个模块登录后,然后把这个session复制n份,发送到这个集群的其他模块中,就实现了一处登录,处处可用,但缺点是耗费比较大,不推荐使用

    2.使用cookie+redis实现
    2.1在项目中任何一个模块登录,登录之后,把数据放到这两个地方
    (1)redis:在key:生成唯一随机值(ip、用户id等等)  ,在value:用户数据

    (2)cookie:把redis里面生成key值放到cookie里面

    2.2访问项目中其他模块,发送请求带着cookie进行发送,获取cookie值,拿着cookie做事情
    把cookie获取值,到redis进行查询,根据key进行查询,如果查询数据就是登录

    3使用token实现(推荐使用)
    3.1token是什么
    按照一定规则生成字符串,字符串可以包含用户信息

    3.2实现方式
    1.在项目某个模块进行登录,登录之后,按照规则生成字符串,把登陆之后用户包含到生成字符串里面,把字符串返回

    (1)可以把字符串通过cookie返回

    (2)把字符串通过地址栏返回

    2.再去访问项目其他模块,,每次访问在地址栏带着生成的字符串,在访问模块里面获取地址字符串,根据字符串获取用户信息。如果可以获取到,就是登录

  • 相关阅读:
    <C++> 模板-下
    面试题库(十二):分布式和中间件等
    112. 路径总和
    【C++】一文简练总结【多态】及其底层原理&具体应用(21)
    最佳websocket封装
    ovs vxlan 时延和吞吐
    技术分享 | TiUP工具 - TiDB集群滚动升级核心流程解析
    网络安全(黑客)自学
    Python的面向对象编程之—— 类和对象
    httprunner3.x总结24 - hrun3常见的测试前置、测试后置处理
  • 原文地址:https://blog.csdn.net/swebin/article/details/126119396