日期:2014-05-17  浏览次数:20858 次

不同网站的单点登录
最近在做一个项目,要实现两个域名不同的网站间的单点登录,就是网站A中有网站B的一个链接,用户在网站A已经登录,但没有网站B的账号,而用户只需要在网站A点击链接,进入网站B就能继续使用网站A的账号,就好比,你在看微博时点击一个外站的链接,进入外站的时候可以继续使用你微博的账号,请问这个需要使用什么技术?项目急需,求大神相助。
单点登录

------解决方案--------------------
webservice或相同思想的信息传递机制都可以实现.
如A是你的服务器, B是对方服务器.
B提供用户信息访问接口http://A.com/userinterface?account=158736511&callback=B.com/outLogin.do
A让用户跳转至B的接口, B在处理用户同意申请后重定向至参数callback传递的地址,并设置相应用户信息或序列化访问KEY,可以有A服务器后台webservice获取B的用户信息或直接从参数提取.然后A服务器把处理结果返回给用户就完成交互了.
当然实际情况肯定比这个要复杂,因为要涉及到用户的隐私肯定会通过加密或后台webservice获取用户信息的.以上只是简单实现原理.
------解决方案--------------------
你可以是用cas单点登录,如果是在不同的网站上面对应的比如A点设置了单点登录,那么你在B站也同样要配置,并且要将A点的秘钥达到B点的web容器中(如tomcat)。这样就相当于AB点的client是相同的,基于cookie验证,那么他就不用再在B站登录。
------解决方案--------------------
SSO  cas做吧!有很多方法。简单点就是webservice 传入用户信息如果网站没有就自动入库保存 然后再执行对面的登录方法。给一个B网站的伪连接访问路劲 把A网站用户名和密码简单的提交过去在判断是否有用户没有在B网站调用A提供的webservice把用户信息传递过来B网站接受用户信息保存然后再登陆。有该用户就直接验证登陆了。至于之间的加密可以把上面简单的操作完成之后再进行。
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

SSO  cas做吧!有很多方法。简单点就是webservice 传入用户信息如果网站没有就自动入库保存 然后再执行对面的登录方法。给一个B网站的伪连接访问路劲 把A网站用户名和密码简单的提交过去在判断是否有用户没有在B网站调用A提供的webservice把用户信息传递过来B网站接受用户信息保存然后再登陆。有该用户就直接验证登陆了。至于之间的加密可以把上面简单的操作完成之后再进行。


你做过吗?上线了吗?

你那里不会。我可以说的详细点。




这是SSO CASE的流程 你自己对着看,不明白SSO的也得看,看不明白说明离SSO还远的很,

至于你我肯定你没做过SSO,更不要提上线的SSO了。