【单点登录—SSO】实现思路详细讲解

本文详细介绍了单点登录(SSO)的概念及其四种常见实现方式:Oauth2、SAML、CAS和OIDC。通过实例解释了如何利用这些协议实现一处登录,处处登录的功能,并讨论了不同实现方式的优缺点。同时,文中还探讨了单点登录的实现原理和会话管理策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是单点登录?

举个例子来说,你有A和B两个系统,登录了A系统,就不再需要登录B系统,直接点击B系统,即可实现单点登录,真正意义上的一处登录,处处登录。

单点使用的授权协议? 

一:Oauth2 

        Oauth2是一个开放标准,也是一个授权框架,允许用户在第三方应用访问存储在其他服务器上的私密资源,而在整个过程不需要提供用户名和密码给到第三方应用。具体请看Oauth2认证详细讲解

二:SAML

        提到SAML (Security Assertion Markup Language), 安全断言标记语言,是一个基于XML的开源标准数据格式,它在当事方之间交换身份验证和授权数据,尤其是在身份提供者和服务提供者之间交换具体请看saml2.0概念盲扫

三:CAS

        CAS是Central Authentication Service的缩写,中央认证服务,一种独立开放指令协议。是一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,具体请看CAS概念盲扫

四:OIDC

        OIDC是Open ID Connect的缩写,同时也是OAuth2和OpenID的组合,既有了OAuth2的授权,也有了OpenID的认证,是一套基于OAuth2的认证+授权协议,用于身份认证,将用户的数据安全的暴露给第三方,具体请看OIDC概念盲扫

单点登录的几种实现方式?

1. Tonken模式        

        某个模块登录之后,按照规则进行字符串生成,把用户包含在字符串中进行返回

        1把token放进cookie中,每次请求都去cookie中查询,判断用户是否登录   

        2 可以把字符串放在请求的头部,每次请求都会带上head去,从而判断用户是否登录

   重定向

        转发是服务器行为,重定向是客户端行为

        当设置转发后,请求会直接转发至新的地址,重定向会先返回客户端,在由客户端重写发起新的请求取新的地址

        ps:设置cookie之后,后台重定向请求时已经带上了cookie

2. Session

    主要是session复制,从一个服务复制到另一个服务

        ps:session的存在方便了我们的开发,但在一定程度上增加了一些麻烦,比如多机部署时session的丢失

3.cookie和reids

         *Cookie是一个是一段不超过4kb的小型文本数据,以key/value的形式存储,保存在用户的地

         *Expires属性:设置cookie的生命周期

         *Domain属性:设置可以访问的站点或域

        1.在一个模块中进行登录,只要首次登录会话不关闭,则生成token存在cookie中,使用(uuid)当key,用户信息(token)当vaule来存储       

        2.登录时token在cookie中存储一份,在reids中存储一份

        3.对拦截器配置策略,路径执行拦截器,和对其他页面访问拦截

        4.校验cookie和reids中的token时效性

单点登录实现原理?

***用户登录成功之后,会与sso认证中心及各个子系统建立会话,用户与sso认证中心建立的会话称为全局会话,用户与各个子系统建立的会话称为局部会话,局部会话建立之后,用户访问子系统受保护资源将不再通过sso认证中心,可直接与子系统建立联系。

全局会话与局部会话有如下约束关系

  1. 局部会话存在,全局会话一定存在;

  2. 全局会话存在,局部会话不一定存在;

  3. 全局会话销毁,局部会话必须销毁

注销!

sso认证中心一直监听全局会话的状态,一旦全局会话销毁,监听器将通知所有注册系统执行注销操作 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值