WEB开发网
开发学院WEB开发Jsp java/vc单点登录的简单实现 阅读

java/vc单点登录的简单实现

 2008-01-05 18:34:44 来源:WEB开发网   
核心提示:在门户项目中,经常会碰到如何实现单点登录的问题,java/vc单点登录的简单实现,下面就本人的经验做个总结,欢迎大家进行补充讨论,可以建立类似下面的表:密码可采用加密保存,假如是采用BEA的Weblogic Portal,可采用UUP来保存这些信息, 单点登录的具体实现有很多种选择,包括: 采用专门的SSO商业软件:

在门户项目中,经常会碰到如何实现单点登录的问题,下面就本人的经验做个总结。欢迎大家进行补充讨论。 单点登录的具体实现有很多种选择,包括:

  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。

java/vc单点登录的简单实现(图一)

用户在这些系统中的用户名,密码各不相同,如:员工号为001的员工在这些系统中的用户名,密码分别如下:

用户 系统 用户名 密码 001 Portal系统 A 1234 001 邮件系统 B 2345 001 DOMINO系统 C AAAA 001 报销系统 D CCCC 001 工资系统 E BBBB

首先,建立员工在PORTAL系统中的用户名和其他系统中的用户名之间的对应关系

首先,要建立员工在PORTAL系统中的用户名和其他系统中的用户名之间的对应关系并保存。可保存在表中或LDAP中或文件系统中。当然要考虑这些系统之间的数据同步问题。比较好的方式是找到用户在这些系统中的都存在的唯一信息(如员工号,MAIL地址,姓名等)。通过唯一信息实时到各个系统中去取认证所需要的信息。就不需要考虑数据同步问题。比较实用。可以建立类似下面的表:密码可采用加密保存。假如是采用BEA的Weblogic Portal,可采用UUP来保存这些信息。

(

user

varchar2(20),

/*用户名*/

app_name varchar2(20),

/*应用系统*/

architect varchar2(4),

/*应用系统的架构BS或CS*/

app_company varchar2(50),

/*用户所属分公司*/ app_department varchar2(50),

/*用户所在的部门*/ app_user varchar2(15),

/*在该系统中的用户名*/

app_passwd varchar2(15),

/*在该系统中的密码*/

app_cookie varchar2(30),

/*COOKIE名称*/

form_user varchar2(20),

/*认证页面中FORM的用户名字段*/

form_passwd varchar2(20),

/*认证页面中FORM的密码字段*/

app_special varchar2(20)

/*其他*/ ); 三层交换技术 交换机与路由器密码恢复 交换机的选购 路由器设置专题 路由故障处理手册 数字化校园网解决方案

通过IFRAME或超连接方式集成目标系统,并进行SSO


Tags:java vc 单点

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接