SSO单点登录
单点登录是指用户在某个应用系统上登录之后,进入其子应用或相关应用系统可以免去登录步骤,从而实现一次登录,到处操作。如:有业务服务器a.com和b.com,还有SSO服务器 sso.com,在a.com上完成登录操作之后访问 b.com 时是已登录状态。
1、用户首次访问 a.com/user 时,到 a.com 服务器获取不到session
2、给用户弹出一个SSO的登录页面 sso.com/login.html,这个页面会带上两个参数,分别是开发者平台映射值key(即某个业务服务器在SSO所映射的key)和回调地址redirect(即登录成功之后跳转到的url,一般是所发起业务服务器开放的路由)
3、用户输入账号密码之后到SSO服务器上进行身份校验,若校验成功则给用户生成一个ticket,并将该ticket值及用户基本信息一起创建SSO服务器session
4、选择某种加密方式对该请求的session进行加密之后生成一个token值,然后在回调地址redirect里带上token参数并跳转回去a.com服务器。
5、a.com 对token参数进行解析后拿到用户基本信息和ticket值,相应地初始化本地session并将ticket值也记录下来。
6、用户再次访问 a.com/user 或其他页面的时候,到 a.com 上获取session并到 sso.com 上校验ticket值得有效性,两个操作都成功之后才返回用户信息;若校验ticket值失败,则重新要求用户进行登录操作,即从步骤1开始。
7、现在用户在 a.com 上的登录和访问流程已完成,那这时用户访问 b.com/user,到b.com上获取不到session,则会重定向到 sso.com/session,因为之前 a.com 已在 sso.com 上登录过,故请求 sso.com/session 的时候SSO服务器能将session中用户信息和ticket值返回给 b.com。
8、b.com 获取到用户信息和ticket值之后和 a.com 做相同的事情即可,这样就完成了单点登录的整个流程。
SSO单点登出
单点登出则是指用户只要在 a.com 服务器上进行登出操作,则在其他业务服务器如b.com上也应处于未登录状态,单点登录流程的步骤6中提到每次用户访问业务服务器路由检验用户当前状态时不仅仅查找本地有没有session,还要到SSO服务器上校验ticket值的有效性,所以只要有一个业务服务器登出时令ticket失效即可。
1、现在用户是登录状态,他从 a.com 进行了退出操作,则自然 a.com 已将其session清除。
2、a.com 服务器同时还要携带ticket值发请求到 sso.com 将对应的记录清除。
3、当访问某个 b.com 某个页面时,虽然在 b.com 服务器上获取到session,此外还需要到SSO服务器上校验一遍ticket值,而发现ticket值校验失败,则会提示用户当前处于未登录状态。
4、这样相当于 b.com 也已经是退出登录,完成了单点登出的整个流程
相关推荐
SSO(Single Sign-On)单点登录...总之,SSO单点登录为用户提供了便捷的访问体验,同时降低了管理多系统登录的复杂性。通过理解其原理和实现方式,我们可以根据具体需求选择合适的技术方案,构建高效且安全的SSO系统。
3、 单点登录和单点登出的实现和测试 4、 单点登录、登出的原理探究等 知识点 l 相关概念或术语:SSO、CAS、TGT、TGC、ST l CAS Server服务端的搭建和配置 l CAS Client客户端的搭建和配置 l 单点登录的测试 l 单点...
SSO 单点登录解决方案 设计流程图 SSO(Single Sign-On)单点登录解决方案是当前企业应用系统中最常用的身份验证机制之一。该解决方案的设计流程图将会详细介绍 SSO 的实现机制、时序图、数据库设计、程序实现和...
在“sso单点登录源代码”中,我们可以看到以下几个关键组成部分: 1. **SSOLab.sln**:这是一个Visual Studio解决方案文件,包含了整个SSO项目的所有组件。通过这个文件,开发者可以打开并管理整个项目,包括各个子...
在"SSO单点登录源码"这个主题中,我们主要关注的是如何实现这样一个系统。通过提供的链接(http://www.blogjava.net/xcp/archive/2010/04/13/318125.html),我们可以了解到SSO的基本原理和实现步骤。在这个样例中,...
在本项目中,"单点登录&单点登出(Cookie+ticket)"是通过Servlet技术实现的,利用Cookie和Ticket这两种机制来处理SSO的过程。 Cookie是Web应用中用于跟踪用户状态的一种常见方法。在SSO场景下,当用户首次登录SSO...
这个“sso单点登录demo”是基于Shiro和CAS实现的一个示例,展示了如何在Java环境下构建一个完整的SSO解决方案。 Shiro是一个强大的、轻量级的Java安全框架,提供了认证、授权、加密和会话管理功能,使得开发者可以...
通过这些知识点的学习和实践,你可以创建一个基本的SSO单点登录DEMO,为多应用环境提供便捷的身份验证方案。在实际项目中,你可能还需要根据具体需求进行扩展,比如支持OAuth、OpenID Connect等更现代的认证协议,...
单点登录(Single Sign-On,简称SSO)是一种网络身份验证技术,允许用户在一次登录后,无需再次输入凭证即可访问多个相互关联的应用系统。在IT领域,它极大地提升了用户体验和安全性,尤其对于大型企业或组织,管理...
SSO(Single Sign-On)单点登录是一种网络应用中...总结来说,SSO单点登录实例是一个学习和实践SSO技术的好材料。通过理解和运行这个Demo,你不仅能掌握SSO的基本原理,还能了解到如何在实际开发中实施和优化SSO系统。
从提供的"SSO单点登录完整代码"来看,可能包含以下内容: - IDP的实现,可能使用Java、Python或其他语言,包含用户验证逻辑和令牌生成。 - SP的实现,展示如何检查和验证来自IDP的令牌,以及如何根据令牌的验证结果...
单点登录(Single Sign-On,简称 SSO)是一种常见的身份认证模式,它允许用户在多个应用程序和服务中仅通过一次登录就能访问所有相关系统而无需多次输入密码。这种机制极大地提高了用户体验,并且在一定程度上增强了...
- **登出**:单点登出(Single Logout, SLO)需要确保用户在一处登出时,其他所有已登录的资源也同时失效。CAS支持SLO,客户端需要正确处理登出请求和清除本地会话。 - **测试**:对SSO系统进行全面的功能和安全测试...
在《SSO单点登录Java开发教程(四)自己动手写SSO单点登录服务端和客户端.md》及《SSO单点登录Java开发教程(五)自己动手写SSO单点注销服务端和客户端.md》中,讲解了如何构建这些组件: 1. **服务端**:主要负责用户...
4. 退出逻辑:实现单点登出功能,当用户在一个应用中注销时,客户端会通知其他应用同步注销状态。 在源码中,开发者可以深入理解CAS SSO的工作流程,包括: - 如何配置CAS服务器,设置认证源和策略。 - 客户端如何...
单点登录(Single Sign-On,简称SSO)是一种身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次输入凭证。在这个"SSO demo 单点登录"示例中,我们看到使用了SSH(Spring、Struts2、...
ASP.NET SSO(Single Sign-On)单点登录是一种身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次输入凭证。在这个例子中,我们有三个不同的域:主域a.com以及两个子域app1.a.com和app2.a....
这个压缩包文件"SSO单点登录.rar"包含了关于SSO实现的两个关键部分:服务器端(server)和客户端(client_1),这将帮助我们深入理解SSO的工作原理和实际应用。 1. SSO工作原理: SSO的核心是中央认证服务(CAS)...
在给定的压缩包"SSO单点登录.zip"中,包含了一个名为"sso-dandiandenglu-demo-master"的项目源码,这应该是一个SSO的示例项目,适合毕业生进行毕业设计学习和实践。 这个项目提供了完整的源代码和部署教程,可以在...
### SSO单点登录概述与关键技术 #### 一、单点登录(Single Sign-On, SSO)的概念 单点登录是一种使用户仅需一次身份验证即可访问多个应用程序的技术。这通常应用于互相信任的系统之间,允许用户在一个系统中登录后...