Posted on 2005-11-16 10:29
Terry的Blog 阅读(1165)
评论(1) 编辑 收藏 所属分类:
web开发
Web单点登录功能设计
环境:Weblogic6.1 Oracle9i
1 需求: 现在有两套Web Application app1和app2,分别放在两台服务器上.现在希望从app1登录后能通过Http链接直接迁移到app2画面.不需要用户再输入口令。
2 分析: 这个问题本质上就是让两台机器共享登录的数据。
3 解决方法: 考虑通过Http链接中的参数传递session Id。实际的登录的数据放在一个双方都可以存取的公共区。
现在选择weblogic的JNDI。(数据库也可以)
4 实现:1: app1登录时把登录数据放到一个HashMap绑定到initialContext。
2: 迁移链接http://app2ServerAddress/app2/TopEntry.do?sessid=这里写sessionId。
3: app2方通过request.getAttribute("sessid")得到sessionId再到initialContext中lookup出登录数据。
附注:1: weblogic中JNDI的使用可参考本Blog相关文章。http://www.blogjava.net/terry-zj/archive/2005/11/16/20012.html
2: 登录数据放到一个HashMap中而不是AccountBean之类的自定义结构。
3: 这个方法的负荷能力还需具体测试。