*设为首页
*加入收藏
热门关键字: JAVA
>>当前位置:Java大本营>Web Service>文章内容
单点登录 原理
作者: 发布时间:2007-12-19 10:28:08
1 对于纯web得sso,如果有独立得SSO登陆服务器,所有的验证都跳转到这个服务器的界面,登陆的状态保留在sso server上

2 如果要桌面和web共同认证,还是必须有独立得SSO,

对于自己实现的方案,例如如果是通过一个桌面程序来实现SSO,那么必须有一台SSO服务器,桌面程序通过httpclient验证身份,然后可以通过
a. 修改本机cookies让IE传认证令牌
b. 直接把认证令牌作为url字符串根在桌面程序的一个链接后面

令牌说法比较含糊,具体两种方法:
1 所有得url均复写令牌
2 只要保留浏览器对SSO web server的cookies,跳转应用程序的时候,web app先redirect到ssoserver,验证cookies后,跳回来,对用户来说,感觉不到去过ssoserver,呵呵,

很多网站,例如google好像就是这个方法


jaas本质上只解决一个登录可配置的问题,像tomcat用jaas,只能解决同时登陆tomcat上得N个应用,而且仅限于java,对SSO实现还是要按上面的方法。kerberos往往是和系统一

些模块紧密结合的,扩展不一定方便。


3 如果windows是唯一登录入口,也就是没有第二台SSO登录服务器。
那么实现SSO的核心,就是登录域之后,IE能够把域信息发送给服务端:

  配置IE浏览器
  ①internet选项-->安全-->本地intranet-->站点-->高级
  添加wls
  ②internet选项-->高级-->安全
  确定,集成windows身份认证被选中

服务段的weblogic接收到这个令牌以后,要去AD上验证

集成Windows身份验证(以前称为NTLM身份验证和Windows NT质询/响应身份验证)可以使用NTLM或Kerbetas身份验证,NTLM是Microsoft的一项专有技术,自问世以来已几经更新,

虽然这种机制稳定可靠但它有一个致命缺点是不能进行委派,这就意味着用户凭据不能流动到远程服务(如SQL Server)。而Kerberos却不存在这种问题,在保持稳定安全的验证机

制的同时还可以在Windows环境中轻松地使用委派,我们要讨论的就是这种机制。

Kerberos大多数情况下要求使用Microsoft Active Directory,因为Active Directory 充当Kerberos令牌授予服务(TGS/TGT)。

如果用kerberos,那就很简单了,windows和weblogic都支持kerberos,认证数据都在AD上


·中文编码问题全面分析 (01-27)
·java web开发中的listener和filter (01-27)
·JAVA的由来 (01-27)
·一个Java Bean转换为HashMap及ArrayLis(01-27)
·探索下载引擎盈利模式 (01-27)
·web3.0感想 (01-23)
·工作流与PetriNet两种节点的新诠释 (01-21)
·过滤器(filter)在web 中的应用 (01-21)
·eclipse开发Web项目时虚拟目录的妙用 (01-21)
·Log4j入门(01-20)
·Weblogic保留jsp编译后的java文件 (01-20)
·Weblogic web service dynamic client (01-19)
复制地址发给您的好友: [推荐文章] [返回顶部] [关闭窗口]
版权所有 Java大本营 1999-2007 转载请注明出处