1 SSO简介
SSO(Single Sign-On)直译为一次登录,WebSphere中更加形象的解释是"单点登录、全网漫游",意思就是说所有已相同的DNS域名结尾的机器,可以共享用户的认证信息,比如:a.chinacreator.com,b.chinacreator.com就可以经过配置后实现SSO.
SSO的机制就是在企业网络用户访问企业网站时作一次身份认证,随后就可以对所有被授权的网络资源进行无缝的访问,而不需要多次输入自己的认证信息。
2 SSO理论基础
SSO并不是J2EE中的标准实现,而是各家中间件提供商在提供J2EE应用服务器集群时提供的一种认证信息共享的机制,所以各家厂商提供的实现方式不一样,IBM的WebSphere是通过cookies记录认证信息,BEA的WebLogic通过session共享技术实现认证信息的共享,国内深圳金蝶的apusic采用的和BEA的技术基本一致。
但是不管各家的实现技术怎么样,他们的理论基础都缘于J2EE中的安全技术:Java Authorization Contract for Containers (Java ACC)和JavaTM Authentication and Authorization Service(JAAS)。 Java Authorization Contract for Containers (Java ACC)和JavaTM Authentication and Authorization Service(JAAS)是j2ee技术中实现安全访问机制的规范和标准,其中Java ACC属于j2ee规范的一部分,而JAAS是Java ACC的实现部分。
2.1 Java ACC
Java ACC规范定义了授权策略模块和J2EE容器之间的实现规范,这样容器安全提供者就可以根据操作环境的要求提供J2EE容器的授权功能。
Java ACC规范分为三个部分,分别是:提供着配置规范,安全策略配置规范,策略判断和执行规范。这三个部分组合在一起共同描述了授权提供者的安装和配置,J2EE容器使用者可以根据这些规范来实现访问控制。
1. 安全提供者配置规范规定了对安全提供者和容器的要求,这些是安全策略提供者和容器之间整合的基础。
2. 安全策略配置规范定义了容器配置工具和安全提供者之间的交互规范,所谓的交互是指如何将声明的授权策略信息转化为J2SE策略提供者可以识别的指令的过程。
3. 策略判断和执行规范定义了容器策略执行点和安全提供者之间的交互,他实现了J2EE容器需要的安全策略判断。
大家可以到http://java.sun.com/j2ee/javaacc/下载规范文档。
2.2 JAAS
JAAS全名是JAVA认证和授权服务,它是一组java包,为提供基于用户的认证和访问控制提供支持,它是标准可嵌入式认证模型(PAM)的java版本实现,支持基于用户的身份认证。
JAAS是J2SE1.3中的可选包,但是J2SE1.4中已经集成了JAAS.
标准可嵌入式认证模型(PAM)的具体内容大家可以查看http://java.sun.com/security/jaas/doc/pam.html,JSSA的规范大家可以到http://java.sun.com/products/jaas/查看。
3 WebSphere中的SSO
3.1 WebSphere中的SSO
SSO在IBM的产品中得到了完全的体现,包括在WebSphere集群中,在WebSphere和Domino的集成中,都可以实现。
SSO允许网络用户在访问多个WebSphere域的多个应用时只要向其中的某一个WebSphere应用服务器进行认证,就可以访问其他WebSphere域中的各种资源,包括HTML页面,JSP文件,Servlet和企业EJB,也可以访问其他Domino中的文档,而不需要登录多个WebSphere域。
WebSphere中默认不支持SSO,如果需要实现SSO,需要对每一台WebSphere服务器进行配置,如果需要实现WebSphere和Domino之间的SSO,则对WebSphere和 Domino 都要重新配置。
3.2 前提条件
要实现WebSphere服务器之间的SSO,必须满足以下前提条件:
1. 所有的服务器必须配置成同一个DNS域的一部分。
比如: DNS域配置为mydomain.com,那么,SSO将在所有Domino和WebSphere服务器起作用,只要他在属于这个DNS域的某个主机上,比如说在a.mydomain.com和b.mydomain.com的主机上配置的两台webpshere服务器之间。
2. 所有服务器必须共享用户注册表,用户注册表可以是LDAP数据库,在WebSphere服务器之间实现SSO还可以采用用户自己实现的用户注册表,但是Domino不支持用户自己实现的用户注册表,所以WebSphere和Domino之间实现SSO时只能采用LDAP数据库作为公有的用户注册表。
[注] 使用的LDAP数据库必须是WebSphere支持的LDAP数据库,推荐使用IBM的Security Way.
3. 所有的用户定义在一个单一的LDAP目录中。
4. 用户的浏览器必须支持Cookies,因为服务器生成的信息将通过Cookies传递到客户端,然后会提交给用户访问的其他服务器进行认证。
5. WebSphere应该是3.5版本或者以上版本。
3.3 SSO授权机制
WebSphere中的SSO授权机制比较简单,采用了类似于windows文件的权限管理的机制,就是先定义一些角色,然后给这些角色授予访问某些服务器资源的权限,然后再将这些角色映射到具体的用户或者用户组。
比如:我们开发了一个WebSphere服务器上的web应用,这个应用的管理员可以使用这个web应用的管理权限,和管理权限相关的文件都放在这个应用的/admin目录下,那么我们就可以给这个应用增加一个admin的角色,它可以访问/admin目录下的所有文件,然后把这个admin角色映射到所有管理员角色所在的LDAP数据库中的某个组
4 LDAP数据库简介
4 LDAP数据库简介
LDAP的英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,与X.500不同的是,LDAP支持TCP/IP。LDAP 标准的规范是以一系列 RFC(或注释请求,Request For Comment)的形式编排的。有关与 LDAP 相关的 RFC 的更多信息,可以参考http://www.ldapman.org/ldap_rfcs.html。
LDAP中的信息都被存储在目录中,LDAP不是关系型数据库,它的信息目录结构类似于UNIX的文件系统,这种树-叶结构的结构使LDAP有很好的扩充性,而且查询速度比关系型数据库要快。
大多数的LDAP服务器都为读密集型的操作进行专门的优化,也就是说如果你的应用中信息读取操作很多,而修改信息很少的话,那么您可以采用LDAP数据库。从LDAP服务器中读取数据的时候会比从专门为 OLTP优化的关系型数据库中读取数据快一个数量级。
因为专门为读的性能进行优化,大多数的LDAP目录服务器 并不适合存储需要需要经常改变的数据。例如,可以用LDAP服务器来存储公司的组织机构和员工信息,但是LDAP一般不适合作为 电子商务站点的数据库服务器。
详细的LDAP介绍资料大家可以到下载IBM中国的网站上《LDAP入门》教程,下载地址是:http://www-900.ibm.com/developerWorks/cn/education/linux/l-ldap/tutorial/l-ldap.zip
分享到:
相关推荐
本文中作者给大家详细的演示了如何实现WebSphere服务器和webpshere服务器之间的SSO(“单点登录、全网漫游”),并且给大家详细地解释了实现过程中的关键点和相关选项的含义,并且给出了开发带有安全性能要求的web...
【eSSO Single Sign-On(单点登录)】 单点登录(Single Sign-On,简称SSO)是一种身份验证机制,允许用户在成功登录一次后,无需再次输入凭证就能访问多个相互关联的应用系统。eSSO(基于企业的SSO)特别针对企业...
Single Sign-On(单点登录)允许用户在一次登录后访问多个相互信任的应用程序,而无需再次输入凭证。在Websphere中,实现SSO可以帮助提升用户体验,同时降低管理多个系统认证的复杂性。通常,SSO通过使用票据或共享...
在Domino 5.0.5及后续版本中,为了提高用户体验并简化管理流程,可以实现Domino与WebSphere应用服务器之间的单点登录(Single Sign-On, SSO)功能。启用SSO后,用户只需在登录Domino或WebSphere服务器时进行一次认证...
CAS单点登录产品具有很多优点,如减少用户在不同系统中登录耗费的时间,减少用户登录出错的可能性,实现安全的同时避免了处理和保存多套系统用户的认证信息,减少了系统管理员增加、删除用户和修改用户权限的时间,...
【单点登录(Single Sign-On, SSO)详解】 单点登录是一种身份验证机制,允许用户在一个系统上登录后,无需再次输入凭证即可访问多个相互关联的系统。在本文档中,主要讨论了IBM的WebSphere Portal和Tivoli Access...
单点登录(Single Sign-On,简称SSO)是一种网络身份验证机制,允许用户在一个系统上登录后,无需再次输入凭证即可访问多个相互关联的系统。在门户项目中,实现SSO能够提供无缝的用户体验,提高工作效率,同时降低...
Lotus Quickr与IBM WebSphere Portal的单点登录(SSO,Single Sign-On)是一种集成解决方案,允许用户在访问一个系统(如Portal)后,无需再次输入凭证即可访问其他相互关联的系统(在这种情况下是Quickr)。...
单点登录(Single Sign-On,简称SSO)是一种身份验证技术,它允许用户在通过一次登录验证后,无须再次输入凭证即可访问多个相互关联的应用系统。这一技术大大提升了用户体验,减少了用户记忆和输入多个密码的负担,...
CAS是一个开源的身份验证框架,它提供了一种安全地验证用户身份的方式,使得用户只需要在访问多个应用时登录一次,这就是所谓的单点登录(Single Sign-On,简称SSO)。 【描述】中提到的"完美支持was8.5中间件",指...
在IT领域,单点登录(Single Sign-On,简称SSO)是一种允许用户使用一组凭证(如用户名和密码)访问多个相关系统的身份验证方法。在IBM的Domino和WebSphere环境中,LTPA(Lightweight Third-Party Authentication)...
单点登录(Single Sign-On,简称SSO)技术是一种网络身份验证的方法,允许用户在一个系统上登录后,无须再次输入凭证即可访问其他相互信任的系统。IBM的TAMeb(Tivoli Access Manager for e-business)是实现企业级...
WebSphere Portal V6提供了一套默认的登录配置,其中包括了多种身份验证机制,例如基于用户名/密码的验证、单点登录(Single Sign-On, SSO)等。这些机制可以单独使用,也可以组合起来实现更复杂的安全策略。 - **...
在企业级应用环境中,单点登录(Single Sign-On,SSO)是一种重要的安全机制,它允许用户在一次身份验证后访问多个应用程序,而无需再次输入凭证。WebSphere Application Server 7.0 提供了这样的功能,可以集成到...
为了解决这一难题,单点登录(Single Sign-On,简称SSO)技术应运而生,成为优化用户认证流程、提升安全性和管理效率的关键方案。SSO是一种身份认证机制,允许用户仅通过一次认证即可访问所有相互信任的应用系统,...
单点登录(Single Sign-On,简称SSO)是一种身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次输入凭证。在WebSphere Application Server中配置SSO,可以提供更方便、安全的用户体验,同时...