java 单点登录的实现
在门户项目中,经常会遇到如何实现单点登录的问题,下面就本人的经验做个总结。欢迎大家进行
补充讨论。单点登录的具体实现有很多种选择,包括:
1. 采用专门的 SSO 商业软件: 主要有: Netgrity 的 Siteminder ,已经被 CA 收购。Novell 公
司的 iChain 。 RSA 公司的 ClearTrust 等。
2. 采用门户产品供应商自己的 SSO 产品,如:BEA 的 WLES,IBM 的 Tivoli Access Manager ,
Sun 公司的 identity Server ,Oracle 公司的 OID 等。
3. 这些商业软件一般适用于客户对 SSO 的需求很高,并且企业内部采用 COTS 软件如:
Domino,SAP ,Sieble 的系统比较多的情况下采用。并结合身份管理。统一认证等项目采用。
采用这些软件一般都要对要集成的系统做些改造,如在要集成的系统上安装 AGENT 。现在
一般只提供常见软件如: Domino,SAP ,Sieble ,常见应用服务器: weblogic,websphere 等
的 AGENT 。要先统一这些系统的认证。一般采用 LDAP 或数据库 。然后才能实现 SSO。比
较麻烦。
4. 另外,如果不想掏银子,也有 OPEN SOURCE 的 SSO 软件可选:主要有:
http://www .josso.org/ https://opensso.dev.java.net/ http://www .sourceid.org 等。具
体怎么样就不清楚了。
如果项目对 SSO 的要求比较低,又不想对要被集成的系统做任何改动,可采用下面介绍的方式简单
实现:下面我们通过一个例子来说明。假如一个门户项目要对下面的几个系统做 SSO。