单点登录
单点登录(SSO,Single Sign-on)是一种方便用户访问多个系统的技术,用户只需在登录时进行一次注册,就可以在多个系统间自由穿梭,不必重复输入用户名和密码来确定身份。单点登录的实质就是安全上下文(Security Context)或凭证(Credential)在多个应用系统之间的传递或共享。当用户登录系统时,客户端软件根据用户的凭证(例如用户名和密码)为用户建立一个安全上下文,安全上下文包含用于验证用户的安全信息,系统用这个安全上下文和安全策略来判断用户是否具有访问系统资源的权限。遗憾的是J2EE规范并没有规定安全上下文的格式,因此不能在不同厂商的J2EE产品之间传递安全上下文。
|
图1 SSO原理示意图 |
目前业界已有很多产品支持SSO,如IBM的WebSphere和BEA的WebLogic,但各家SSO产品的实现方式也不尽相同。WebSphere通过Cookie记录认证信息,WebLogic则是通过Session共享认证信息。Cookie是一种客户端机制,它存储的内容主要包括: 名字、值、过期时间、路径和域,路径与域合在一起就构成了Cookie的作用范围,因此用Cookie方式可实现SSO,但域名必须相同; Session是一种服务器端机制,当客户端访问服务器时,服务器为客户端创建一个惟一的SessionID,以使在整个交互过程中始终保持状态,而交互的信息则可由应用自行指定,因此用Session方式实现SSO,不能在多个浏览器之间实现单点登录,但却可以跨域。
实现SSO有无标准可寻?如何使业界产品之间、产品内部之间信息交互更标准、更安全呢?基于此目的,OASIS(结构化信息标准促进组织)提出了SAML解决方案(有关SAML的知识参看链接)。
用户认证中心实际上就是将以上所有功能、所有概念形成一个整体,为企业提供一套完整的用户认证和单点登录解决方案。一个完整的用户认证中心应具备以下功能:
1. 统一用户管理。实现用户信息的集中管理,并提供标准接口。
2. 统一认证。用户认证是集中统一的,支持PKI、用户名/密码、B/S和C/S等多种身份认证方式。
|
图2 统一用户认证与单点登录设计模型 |
3. 单点登录。支持不同域内多个应用系统间的单点登录。
用户认证中心提供了统一认证的功能,那么用户认证中心如何提供统一授权的功能呢?这就是授权管理中,其中应用最多的就是PMI。
PMI(Privilege Management Infrastructure,授权管理基础设施)的目标是向用户和应用程序提供授权管理服务,提供用户身份到应用授权的映射功能,提供与实际应用处理模式相对应的、与具体应用系统开发和管理无关的授权和访问控制机制,简化具体应用系统的开发与维护。PMI是属性证书(Attribute Certificate)、属性权威(Attribute Authority)、属性证书库等部件的集合体,用来实现权限和证书的产生、管理、存储、分发和撤销等功能。
PMI以资源管理为核心,对资源的访问控制权统一交由授权机构统一处理,即由资源的所有者来进行访问控制。同公钥基础设施PKI相比,两者主要区别在于: PKI证明用户是谁,而PMI证明这个用户有什么权限,能干什么,而且PMI可以利用PKI为其提供身份认证。
单点登录通用设计模型
图2是统一用户认证和单点登录通用设计模型,它由以下产品组成:
1. PKI体系: 包括CA服务器、RA服务器、KMC和OCSP服务器。
2. AA管理服务器: 即认证(Authentication)和授权(Authorization)服务器,它为系统管理员提供用户信息、认证和授权的管理。
3. UUMS模块: 为各应用系统提供UUMS接口。
4. SSO: 包括SSO代理和SSO服务器。SSO代理部署在各应用系统的服务器端,负责截获客户端的SSO请求,并转发给SSO服务器,如果转发的是OCSP请求,则SSO服务器将其转发给OCSP服务器。在C/S方式中,SSO代理通常部署在客户端。
5. PMI: 包括PMI代理和PMI服务器。PMI代理部署在各应用系统的服务器端,负责截获客户端的PMI请求,并转发给PMI服务器。
6. LDAP服务器: 统一存储用户信息、证书和授权信息。
为判断用户是否已经登录系统,SSO服务器需要存储一张用户会话(Session)表,以记录用户登录和登出的时间,SSO服务器通过检索会话表就能够知道用户的登录情况,该表通常存储在数据库中。AA系统提供了对会话的记录、监控和撤消等管理功能。为保证稳定与高效,SSO、PMI和OCSP可部署两套或多套应用,同时提供服务。
分享到:
相关推荐
脚本方式单点登录是一种成熟的方案,它的主要优点在于高成功率,可以实现多种复杂功能,以及能够处理离线登录域时的单点登录问题。不过,它要求在AD域上配置组策略来加载logon.exe和logoff.exe脚本。这种方案适用...
堡垒机不同域名之前的单点登录问题 1. 减少用户在不同系统中登录耗费的时间,减少用户登录出错的可能性 2. 实现安全的同时避免了处理和保存多套系统用户的认证信息 3. 减少了系统管理员增加、删除用户和修改用户权限...
用友U8开发单点登录方案 本文主要介绍了用友U8开发单点登录方案的设计背景、应用场景、实现方式和技术细节。单点登录方案的设计目标是实现非U8系统与U8系统的集成,共享用户名和密码,实现单点登录。 设计背景 ...
Kisso的这种设计使得分布式服务部署、单点登录跨域访问等问题变得简单,而使用session则需要复杂的session复制机制和其他解决方案,实现起来更加困难。 JEECG智能开发平台v3的开发指南详细说明了如何集成Kisso实现...
cas 单点登录解决方案可以大大简化 SOA 的安全问题,提高服务之间的合作效率。 cas 单点登录解决方案的技术实现机制其实是比较简单的。使用 cas 单点登录解决方案,用户只需要登录一次就可以进入多个系统,而不需要...
单点登录(SSO)的技术被越来越广泛地运用到各个领域的软件系统当中。本文从业务的角度分析了单点登录的需求和应用领域;从技术本身的角度分析了单点登录技术的内部机制和实现手段,并且给出Web-SSO和桌面SSO的实现...
在本场景中,我们关注的是Jeecg如何配置单点登录(Single Sign-On,简称SSO)以及相关的登录验证代码。单点登录是一种网络应用架构中的安全机制,允许用户在一次登录后,就能访问多个相互关联的应用系统,而无需再次...
基于PHP的 WEB应用系统单点登录系统模型可以解决当前WEB应用系统中的单点登录问题,提高用户体验和系统安全性。 单点登录系统的优点有很多,例如提高用户体验、提高系统安全性、减少系统维护成本等。当前实现单点...
1. 企业信息化建设:该方案可以应用于企业信息化建设中,解决单点登录问题。 2. 网络应用开发:该方案可以应用于网络应用开发中,提供一种轻量级的跨域单点登录解决方案。 该方案提供了一种轻量级的跨域单点登录...
然后单点登录服务程序验证没有问题,将信息同步给防火墙,防火墙也会找域控服务器验证,整理自己的本地在线用户。 华为防火墙单点登录所使用的ADSSO程序,可以通过图中所示的配置结果进行了解。从图中不难看出,单...
单点登录(Single Sign-On,简称SSO)是一种网络身份验证机制,允许用户在一个系统上登录后,无需再次提供凭证就能访问多个相互信任的系统。它简化了用户管理和提升了用户体验,因为用户不再需要记住多个密码或者在...
单点登录(Single Sign-On,简称SSO)是一种身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次输入凭证。在Android端实现SSO,主要是为了确保用户在同一时间只能在一个设备上保持活跃的...
综上所述,无论是基于Ofbiz的原生SSO实现还是基于JSONP的SSO实现,都能够有效地解决多应用环境下的单点登录问题。选择哪种方式取决于具体的应用场景和技术栈。对于Ofbiz开发者而言,这两种方法都提供了实用且灵活的...
【K3单点登录二次开发指导文档】是针对金蝶K3系统中单点登录功能进行集成应用的技术文档,旨在帮助具有相应开发经验的人员理解并实现与K/3门户、K/3、K/3HR等应用系统的无缝对接。单点登录(Single Sign-On,SSO)是...
- Kisso通过cookie机制能够轻松地实现分布式服务部署、单点登录跨域访问等问题,而采用session机制则需要处理session复制和各种问题,实现起来相对困难。 3. Maven依赖: - 在服务端和客户端的pom.xml文件中,...
- 部署时要考虑到网络环境、域策略以及用户的使用习惯,避免因组策略无法下发或脚本执行失败导致的单点登录问题。 6. **附录** - 附录提供了旧格式和新格式配置文件的示例,以及如何处理新旧格式混合的场景,帮助...
它能够解决全局的单点登录问题,将各个应用系统的用户认证过程集中管理,同时确保应用系统的整合。在部署过程中,用户过渡策略、管理员的角色以及高可用性和安全性构建都是关键考虑因素。例如,通过SSL VPN的结合,...
单点登录的实施还需要考虑一些挑战,如跨域问题、多租户环境下的权限隔离、以及与第三方应用的集成等。在实际操作中,可能需要采用像CAS(Central Authentication Service)、PingFederate或Okta这样的专业SSO平台。...
在"springCloud-master_单点登录_springCloud单点登录_SpringCloud系统_springcloud eureka单点登录"这个项目中,我们将重点探讨如何在SpringCloud环境中实现单点登录(Single Sign-On,简称SSO)。 单点登录是一种...
那就意味着做单点登录咯,至于不知道什么是单点登录的同学,建议去找一下万能的度娘。 刚接到这个需求的时候,老夫心里便不屑的认为:区区登录何足挂齿,但是,开发的过程狠狠的打了我一巴掌(火辣辣的一巴掌)。。...