• SSO(single sign on)模式 --单点登录三种登录方式


    SSO(single sign on)模式 --单点登录

    单点登录 : 分布式项目中 不再使用session 来保存用户登录数据
    在这里插入图片描述

    缺点:单点性能压力,无法扩展
    1.2. SSO(single sign on)模式
    分布式,SSO(single sign on)模式
    优点
    用户身份信息独立管理,更好的分布式管理。
    可以自己扩展安全策略

    单点登录三种常见方式:

    第一种: session广播机制

    ​ : session的复制 (在每个模块都是复制当前的session的值) **缺点:**模块多的话 资源浪费

    第二种: 使用cookie + redis 实现

    ​ : cookie 是客户端技术 (存储在浏览器中) , redis 基于 k-v实现

    做法:

    1. 在项目中任何一个模块进行登录,登录以后,把数据放到俩个地方

      (1) redis: 在key存储: 生产唯一随机值(ip 用户id等等) ,在value 存储: 用户数据

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

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

      (1) 把cookie获取值,到redis进行查询,根据key进行查询,如果查询数据就是登录


    在这里插入图片描述

    第三种: 使用token实现

    什么是 token? : *按照一定规则生产字符串,字符串可以包含用户信息

    做法:

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

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

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

     **2. 再去访问其他模块,每次访问在地址栏带着生产字符串,在访问模块里面获取地址栏字符串,根据字符串获取用户信息.==如果可以获取到.就是登陆==**
    
    • 1

    栏带着生产字符串,在访问模块里面获取地址栏字符串,根据字符串获取用户信息.如果可以获取到.就是登陆**

    在这里插入图片描述

  • 相关阅读:
    C语言:文件操作(1)
    Ubuntu快速安装MSF命令
    创建线程池的方法
    后端真批量新增的使用
    远程桌面管理软件,如何使用远程桌面管理软件来远程控制服务器
    10_C++_《数据类型和内存分区》_笔记整理
    Day38-创建Maven项目、Tomcat配置
    面试官:说说JVM内存整体结构?
    Join字段类型超容易上手的好吧(Elasticsearch)
    【从入门到起飞】JavaSE—多线程(2)(lock锁,死锁,等待唤醒机制)
  • 原文地址:https://blog.csdn.net/weixin_45185519/article/details/125448167