domino与java单点登录_J2EE应用服务器和DOMINO之间的SSO实现

在门户或其他J2EE项目中,经常要实现J2EE Application Server与DOMINO R6之间的的单点登录.除了采用专门的商业SSO软件外,经常需要自己实现,下面以Weblogic Server为例子说明一种简单的实现方式,对其他的J2EE Application Server应该也适用,如果是WebSphere 和Domino之间的SSO实现,也采用其他方式,具体请参考:

1.建立两个系统之间用户的对应关系

同一个用户在WebLogic系统和Domino系统的用户名/密码可能不一样,为了实现单点登录。必须在一张表或文件中保存他们的对应关系。该表的定义如下:

create table sso_info

(

wls_user    char(20),        //在weblogic系统中的用户名

wls_pass    char(10),        //在weblogic系统中的密码

domino_user char(20),        //在Domino系统中的用户名

domino_pass char(10)         //在Domino系统中的密码

)

如果这两个系统都采用统一的LDAP进行用户认证,那么同一个用户在这两个系统中的用户名/密码都是一样的,就无需建立这种对应关系。

在本次测试中采用DOMINO LDAP

2.从WebLogic系统登录到Domino系统实现方式

如下图:

258214_1.gif

说明:

1, 在WebLogic系统上部署一个用于进行用户登录的Servlet: WlsLogin,客户端采用浏览器访问该Servlet进行登录。WlsLogin取得客户端输入的用户名/密码并在WebLogic系统中进行登录。

2, 当客户端成功登录到WebLogic系统后,WlsLogin中通过查询上面定义的表sso_info,得到该用户在Domino系统中的用户名/密码,然后在WlsLogin中通过JAVA网络编程方式访问Domino系统的登录页面,登录Domino系统。

3, 如果登录Domino系统成功,用户不需要登录,就可以直接访问Domino系统.

用户从WebLogic系统退出处理

当用户从WebLogic系统退出时,调用一个定制的Servlet: WlsLogout。WlsLogout先把用户从WebLogic系统中退出。然后通过JAVA网络编程方式调用部署在Domino系统上的一个Servlet: DominoOut。在DominoOut中使用户从Domino系统中退出。这样用户在Weblogic,Domino两个系统可以同时登录,同时退出,保持session同步。

3.从Domino系统登录到WebLogic系统实现方式如下图:

258214_2.gif

说明:

1,  在Domino系统上部署一个用于进行用户登录的Servlet: DominoLogIn,客户端采用浏览器访问该Servlet进行登录。DominoLogIn取得客户端输入的用户名/密码并在Domino系统中进行登录.

2,  当客户端成功登录到Domino系统后,DominoLogIn中通过查询上面定义的表sso_info,得到该用户在WebLogic系统中的用户名/密码,然后在DominoLogIn中通过JAVA网络编程方式访问Weblogic系统的登录页面。登录Weblogic系统。

3,  如果登录Weblogic系统成功,在DominoLogIn中会得到返回的http头及cookie信息。同时在WebLogic系统上也会有该用户的session信息。

4,  在DominoLogIn中把3中WebLogic返回的Cookie信息返回给客户端。

5,  客户端有了访问WebLogic系统的cookie信息。同时WebLogic系统中也有了该客户端的session信息。用户不需要登录,就可以直接访问WebLogic系统。

用户从Domino系统退出处理

当用户从Domino系统退出时,调用一个定制的Servlet: DominoLogOut。DominoLogOut先把用户从Domino系统中退出。然后通过JAVA网络编程方式调用部署在WebLogic系统上的一个Servlet: WlsOut。在WlsOut中使用户从WebLogic系统中退出。这样用户在WebLogic,Domino两个系统可以同时登录,同时退出,保持Session同步。

4.实现的参考代码下载:

参考代码下载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值