zoukankan      html  css  js  c++  java
  • 单点登录

    1、介绍

    单点登录SSO(Sigle Sign On):在一个多系统共存的环境下,一个系统登录,其它子系统便不用再登录,一个系统退出,其它子系统也退出。

    核心思想:通过会话机制同步各个系统的登录状态。

    2、系统基本结构

    • 子站点一
    • 子站点二
    • 等等其它站点
    • SSO登录服务器

    3、详细说明

    1. 用户未登录时访问子站一。子站一服务器检测到用户没登录(没有本站session,因为没传过来session对应cookie),于是通知浏览器跳转到SSO服务站点,并在跳转的URL参数中带上当前页面地址,以便登录后自动跳转回本页。
    2. SSO服务站点检测到用户没有登录(没有SSO服务站点的登录成功的session对应的cookie),于是显示登录界面。用户提交登录请求到服务端,服务端验证通过,创建和账号对应的用户登录凭据(token)。然后,服务端通知浏览器把该token作为SSO服务站点的cookie存储起来,并跳转回子站一,跳回子站一的URL参数中会带上这个token。
    3. 浏览器在SSO服务站点设置cookie后,跳转回子站一。子站一服务端检测到浏览器请求的URL中带了单点登录的token,于是把这个token发到SSO服务站点验证SSO服务端站点拿token解密出用户账号,把账号信息中允许子站一访问的部分返回给子站一。子站一根据返回的信息生成用户在本站的会话,把会话对应cookie写入浏览器,从而完成在本站的登入以及会话保持。之后用户访问再子站一时,都会带上这个cookie,从而保持在本站的登录状态。
    4. 用户再访问子站二。子站二服务器检测到用户没登录,于是通知浏览器跳转到SSO服务站点。
    5. 浏览器访问SSO服务站点时会带上上述2环节创建的token这个cookie。SSO服务站点根据该token能找到对应用户,于是通知浏览器跳转回子站二,并在跳转回去的URL参数中带上这个token。
    6. 子站二服务端检测到浏览器请求的URL中带上了单点登录的token,于是又会走上3对应步骤,完成用户在本站的自动登录。

    4、附上一张其它大神做的示例图

  • 相关阅读:
    JavaScript对原始数据类型的拆装箱操作
    Javascript继承(原始写法,非es6 class)
    动态作用域与词法作用域
    自行车的保养
    探索JS引擎工作原理 (转)
    C语言提高 (7) 第七天 回调函数 预处理函数DEBUG 动态链接库
    C语言提高 (6) 第六天 文件(续) 链表的操作
    C语言提高 (5) 第五天 结构体,结构体对齐 文件
    C语言提高 (4) 第四天 数组与数组作为参数时的数组指针
    C语言提高 (3) 第三天 二级指针的三种模型 栈上指针数组、栈上二维数组、堆上开辟空间
  • 原文地址:https://www.cnblogs.com/zhangjianqiang/p/10039916.html
Copyright © 2011-2022 走看看