




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、java 单点登录的实现在门户项目中,经常会遇到如何实现单点登录的问题,下面就本人的经验做个总结。欢迎大家进行补充讨论。单点登录的具体实现有很多种选择,包括:1,采用专门的 SSO 商业软件: 主要有: Netgrity 的 Siteminder,已经被 CA 收购。 Novell 公司的 iChain。RSA 公司的 ClearTrust 等。2 ,采用门户产品供应商自己的 SSO 产品,如:BEA 的 WLESJBM 的 TivoliAccessManager,Sun 公司的 identityServer,Oracle 公司的 OID 等。3 .这些商业软件一般适用于客户对 SSO 的需求
2、很高,并且企业内部采用 COTS 软件如:Domino,SAP,Sieble 的系统比较多的情况下采用。并结合身份管理。统一认证等项目采用。采用这些软件一般都要对要集成的系统做些改造,如在要集成的系统上安装 AGENTo现在一般只提供常见软件如:Domino,SAP,Sieble,常见应用服务器:weblogic,websphere 等的AGENT。要先统一这些系统的认证。一般采用 LDAP 或数据库。然后才能实现 SSO。比较麻烦。4 .另外,如果不想掏银子,也有 OPENSOURCE 的 SSO 软件可选:主要有:/https:/ 等。具体怎么样就不清
3、楚了。如果项目对 SSO 的要求比较低,又不想对要被集成的系统做任何改动,可采用下面介绍的方式简单实现:下面我们通过一个例子来说明。假如一个门户项目要对下面的几个系统做SSO用尸在这些系统中的用尸名,密码各不相同,如:员工号为 001 的员工在这些系统中的用尸名,密码分别如下:用户系统用户名密码001Portal系统A1234001邮件系统B2345001DOMINO系统CAAAA001报销系统DCCCC001工资系统EBBBB首先,建立员工在PORTAL系统中的用户名和其他系统中的用户名之间的对应关系可保存在表中或 LDAP 中或文件系统中。当然要考虑这些系统之间的数据同步问题。比较好的方式
4、是找到用户在这些系统中的都存在的唯一信息(如员工号,MAIL 地址,姓名等)。通过唯一信息实时到各个系统中去取认证所需要的信息。就不需要考虑数据同步问题。比较实用。可以建立类似下面的表:密码可采用加密保存。如果是采用 BEA 的 WeblogicPortal,可采用 UUP 来保存这些信息。(uservarchar2(20),app_namevarchar2(20),architectvarchar2(4),app_companyvarchar2(50),app_departmentvarchar2(50),app_uservarchar2(15),app_passwdvarchar2(15)
5、,app_cookievarchar2(30),form_uservarchar2(20),form_passwdvarchar2(20),app_specialvarchar2(20);通过IFRAME或超连接方式集成目标系统,并进行SSO通过 IFRAME 或超连接方式集成目标系统,并在 URL 中带上用户名和密码。如集成 DOMINO 可采用如下方式:width=或:Hrefsrc=http:/host1/names.nsf?Login&Username=admin&Password=pass&RedirectTo=/names.nsf”以上采用的是在 HTTP
6、中直接传递明码,为提高安全性,可采用 HTTPS 来传递用户名和密码。另外采用这种方式被集成的系统必须支持 FORM 方式认证。J2EE 应用,DOMINO 等都支持 FORM认证。这两种方式如果 SSO 成功,就自动进入目标系统的界面,如果实现会显示目标系统的登录界面。其效果图如下:JTJ这种方式,必须维护对应关系表,如上面的 sso_infOo 更好的方式是提供界面,让最终用户自己维护这种对应关系,可模仿 Compozeportletsforlotus 的做法,在用户第一次进入要与之做 SSO 的系统时,如 DOMINO系统,显示一个界面,让用户自己输入他在该系统中的用户名/密码等信息。并
7、保存到表中或 LDAP 等其他数据源中。以后用户要进入这些系统时,就直接从表中或其他数据源中取用户的用户名/密码等信息,帮助用户做认证。建议采用这种方式。如下图所示。如果用户改变了自己在 DOMINO 系统中的用户名,密码。从门户系统进入 DOMINO 系统时,认证会失败,就重新显示类似下面的界面。让用户重新输入他在 DOMINO 系统中新的用户名,密码并保存。mruLttkrynnnriJP的,Wve巾 E 士口dB以上这种实现方式,一般需要浏览器支持 COOKIE,所以要注意浏览器的配置,在开发阶段,为方便调试,可设置 IE,让它显示 COOKIE 的名称。如下所示:时中”-SUJ套/助事
8、X代MOf丁多齿17.1-品1采用这种方式,对要集成的系统不需要做任何的改动。如果 PORTAL 系统中的用户在被集成的系统中的权限都一样,可采用建立一个通用用户的做法。也就是所有在 PORTAL 系统中的用户都采用这个通用用户进入目标系统。这种方式等于是采用页面集成方式做集成。比较方便使用。另外,有时候需要采用调用 API,或配置 Adapter 等应用集成方式来集成其他系统,一般也是通过定义一个连接专用的用户。在 API 中或在配置 Adapter 的时候写死。如采用 JAVAAPI 方式集成 DOMINO:lotus.domino.SessiondominoSession=NotesFa
9、ctory.createSession(dominoServer,“admin“password);CS结构实现方式经常有人问 CS 结构的应用如何实现 SSO,本人的建议是对这种系统不要自己去实现 SSOo 很麻烦,其实输个用户名, 密码没什么大不了的。 如果要实现, 一是采用商业软件。 另外也可以采用以下方式: 在 PORTAL的 PORTLET 上建立超连接。并通过 APPLET 方式启动 CS 结构的应用系统的登录界面。然后通过如下的方式把用户名/密码传递过去。-不能做任何改动的客户端-WIN 消息 (给登录窗口发送用户名, 密码等登录所需要的信息) 模拟键盘 (java有模拟键盘输入
10、的 API)-可以做改动的客户端-参数传递,并让登录的 EXE 文件读取参数进行认证。因为要让 APPLETAPPLET 执行本地的 EXEEXE 文件,所以必须对 IEIE 中的 JREJRE 的安全进行设置布济接其他:在采用以上方式实现了 SSO 后,要注意 LOGOUT,可采用与 LOGIN 相同的方式。也可以通过被集成系统的超时设置来实现。单点登录SSO技术资料收集统一用户认证和单点登录解决方案:计算机世界网上的文章,比较全面的介绍统一用户认证和单点登录解决方案惠普灵动单点登录(SSO)解决方案:包才 C/S 结构的系统单点登录解决方案网站用户单点登录系统解决方案:通过令牌方式实现网站用户单点登录WebLogic 平台的 WebSSO(SAML)解决方案:在 WebLogic8
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商铺门面分租合同范本
- 苗木购销配送合同范本
- 委托油漆加工合同范本
- 军粮供应合同范本
- 燃气框架合同范本
- 商铺租赁合同范本
- 代卖蛋糕合同范本
- 商业租金合同范本
- 社区安全知识培训内容课件
- 门面分租协议合同范本
- 2024年统编版七年级道德与法制上册全册教案汇编(含26个教案)
- 教培机构培训资料如何上好第一次课
- 洗煤厂安全知识培训课件
- 2025年中国邮政集团招聘笔试参考题库含答案解析
- 合同制合同范例
- 2024年司法考试刑法真题及答案
- 《隔离技术规范》课件
- 《云南省学校安全条例(修订草案)》知识培训
- 面向工业智能化时代的新一代工业控制体系架构白皮书
- 四年级下册数学方程题100道及答案
- 浙江省二轻集团招聘笔试题库2024
评论
0/150
提交评论