单点登录原理解析

本文深入解析了SSO(Single Sign On)单点登录的原理,包括http协议基础、Session与Cookie会话机制、普通登录流程。重点介绍了CAS单点登录的两次前端跳转和一次后端验证过程,以及循环跳转异常的案例分析,帮助读者掌握SSO的实现与问题排查。
摘要由CSDN通过智能技术生成

SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。CAS是一种基于http协议的B/S应用系统单点登录实现方案,认识CAS之前首先要熟悉http协议、Session与Cookie等Web开发基本知识。

1.http协议

HTTP是一个客户端和服务器端请求和应答的标准,我们全后端开发对接的Rest接口就是基于http协议。http协议包含http请求消息(HttpRequest)和http应答消息(HttpResponse)两部分。参考内容:

https://www.cnblogs.com/rayray/p/3729533.html

 

  • 理解http协议是无状态协议的含义

  • 熟记常见的http协议状态码,其中302等与cas相关

  • 熟记常见的http请求头,其中Cookie等与cas相关

  • 熟记常见的http应答头,其中Set-Cookie、Location等与cas相关

2.Session与Cookie会话机制

http协议本身是无状态的,但有时候我们需要http请求保持状态,我们引入Session与Cookie。

Session用在服务端,用于存储当前所有客户端需要保持的状态值,并为每一个客户端生成一个唯一编码,然后通过http响应头Set-Cookie将这个编码发送给客户端。

Cookie用在客户端,用于记录后端发来过的唯一编码,该编码与服务端上的对应的状态值对应,在下一次请求的时候通过http请求头Cookie带上这个编码,服务端就能根据这个编

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Security 是一个功能强大的身份验证和访问控制框架,而 JWT(JSON Web Token)是一种用于跨域身份验证的开放标准。使用 Spring Security 和 JWT 实现单点登录可以提供安全的身份验证和无状态的会话管理。 下面是实现单点登录的基本原理: 1. 用户登录:用户通过提供用户名和密码进行认证,并且成功通过验证。 2. 生成 JWT:一旦用户通过认证,服务器会生成一个 JWT,并将其作为响应的一部分返回给客户端。 3. JWT 存储:客户端收到 JWT 后,需要将其存储在本地,通常是在客户端的本地存储或者浏览器的 Cookie 中。 4. 请求时携带 JWT:每次客户端进行请求时,需要将 JWT 添加到请求的头部(通常是 Authorization 头部),以便服务器能够验证用户的身份。 5. 验证 JWT:服务器在接收到请求时,会从请求头部中提取 JWT,并进行验证。验证包括验证令牌的签名、过期时间等信息,以确保令牌的合法性。 6. 访问控制:一旦 JWT 验证成功,服务器将允许用户访问受保护的资源。 7. 单点登录:如果用户需要访问其他受保护的服务,客户端会将 JWT 携带到这些服务的请求中。服务端会对 JWT 进行验证,如果验证通过,则用户无需再次登录,即可访问其他服务。 总结起来,使用 Spring Security 和 JWT 实现单点登录的过程是:用户登录成功后,生成 JWT,并将其存储在客户端。客户端在每次请求时携带 JWT,并通过服务器的验证,以实现身份验证和访问控制。这种无状态的会话管理方式使得服务端无需存储用户的会话信息,提高了系统的可扩展性和性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值