日期:2014-05-20  浏览次数:20851 次

sso【跨域】单点登录【解决附赠200分】
任务: 写一个单点登录接口。

目的:来整合其他的网站(可能是jsp asp php ...做的),实现sso。

表现:也就是整合进来的网站,只要符合我的接口标准,都可以单点登录。

条件:目前所有的用户都在一个表里放置。

具体要求:

1、 A用户在www.mysite1.com登录成功后,无论是点击链接,或是在地址栏输入www.mysite2.com都可以在mysite2显示登录状态。
  到其他的网站也是一个样子。

2、单点注销,同上,A用户在mysite1注销后,访问其他网站同样是注销状态。


求源码实现!解决附赠200分

------解决方案--------------------
sso up
没研究过
------解决方案--------------------
cas部署你会不会;代码部分可以在考虑
------解决方案--------------------
我看cas太麻烦了,就自己写了一个
http://xblue3.download.csdn.net/
我自己写过一个模块,呵呵
<基于对称加密的简单单点登录系统sso>
http://download.csdn.net/source/619881

用servlet,对称加密实现的单点登录!
可以跨域,不使用cookies的!
初步代码!
laiqinyi#at#gmail.com 
用的是PBEWithMD5AndDES的对称加密,还用SHA-1等摘要算法!
理论上比较安全的,呵呵,你帮忙测试一下?


------解决方案--------------------
PBEWithMD5AndDES
有什么成盐因子,密钥,什么的,应该够强悍了!
------解决方案--------------------
Cookie里有个方法setDomain()方法,可以将Cookie发给其他服务器~
------解决方案--------------------
探讨
我看cas太麻烦了,就自己写了一个
http://xblue3.download.csdn.net/
我自己写过一个模块,呵呵
<基于对称加密的简单单点登录系统sso>
http://download.csdn.net/source/619881

用servlet,对称加密实现的单点登录!
可以跨域,不使用cookies的!
初步代码!
laiqinyi#at#gmail.com
用的是PBEWithMD5AndDES的对称加密,还用SHA-1等摘要算法!
理论上比较安全的,呵呵,你帮忙测试一下?

------解决方案--------------------
我们采用的是session处理的方式,用servlet写个验证器,在相应的控制器里加上验证来完成对它权限的判断使用,在其他域的使用需要使用RMI来实现了,不过spring提供了很好的处理办法,将用户管理暴露给其他域,通过接口去实现调用就好了
------解决方案--------------------
小雨,我不会,没弄过
------解决方案--------------------
不会,友情帮顶 ,兼学习
------解决方案--------------------
探讨
我们采用的是session处理的方式,用servlet写个验证器,在相应的控制器里加上验证来完成对它权限的判断使用,在其他域的使用需要使用RMI来实现了,不过spring提供了很好的处理办法,将用户管理暴露给其他域,通过接口去实现调用就好了

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

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。

图一

  用户在这些系统中的用户名,密码各不相同,如:员工号为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*/