不同网站的单点登录

davelam1991 2013-10-20 03:42:09
最近在做一个项目,要实现两个域名不同的网站间的单点登录,就是网站A中有网站B的一个链接,用户在网站A已经登录,但没有网站B的账号,而用户只需要在网站A点击链接,进入网站B就能继续使用网站A的账号,就好比,你在看微博时点击一个外站的链接,进入外站的时候可以继续使用你微博的账号,请问这个需要使用什么技术?项目急需,求大神相助。
...全文
675 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
宁波朱超 2013-10-23
  • 打赏
  • 举报
回复
引用 13 楼 cs123456789dn 的回复:
[quote=引用 12 楼 zhuchao_ko 的回复:]
[quote=引用 11 楼 cs123456789dn 的回复:]
SSO cas做吧!有很多方法。简单点就是webservice 传入用户信息如果网站没有就自动入库保存 然后再执行对面的登录方法。给一个B网站的伪连接访问路劲 把A网站用户名和密码简单的提交过去在判断是否有用户没有在B网站调用A提供的webservice把用户信息传递过来B网站接受用户信息保存然后再登陆。有该用户就直接验证登陆了。至于之间的加密可以把上面简单的操作完成之后再进行。


你做过吗?上线了吗?[/quote]
你那里不会。我可以说的详细点。[/quote]



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

至于你我肯定你没做过SSO,更不要提上线的SSO了。
对java有感觉 2013-10-23
  • 打赏
  • 举报
回复
引用 17 楼 zhuchao_ko 的回复:
[quote=引用 16 楼 cs123456789dn 的回复:] [quote=引用 14 楼 zhuchao_ko 的回复:] [quote=引用 13 楼 cs123456789dn 的回复:] [quote=引用 12 楼 zhuchao_ko 的回复:] [quote=引用 11 楼 cs123456789dn 的回复:] SSO cas做吧!有很多方法。简单点就是webservice 传入用户信息如果网站没有就自动入库保存 然后再执行对面的登录方法。给一个B网站的伪连接访问路劲 把A网站用户名和密码简单的提交过去在判断是否有用户没有在B网站调用A提供的webservice把用户信息传递过来B网站接受用户信息保存然后再登陆。有该用户就直接验证登陆了。至于之间的加密可以把上面简单的操作完成之后再进行。
你做过吗?上线了吗?[/quote] 你那里不会。我可以说的详细点。[/quote] 这是SSO CASE的流程 你自己对着看,不明白SSO的也得看,看不明白说明离SSO还远的很, 至于你我肯定你没做过SSO,更不要提上线的SSO了。[/quote] 你说用cas吗?这个我确实做过你看我主页就知道了。我提的一些问题。不解释了。没必要争吵。 好久之前做的。[/quote] http://blog.csdn.net/cs123456789dn?viewmode=contents 你的主页没有。 是我太认真了,不好意思。罢了。[/quote] 哎算了 。没意思。
对java有感觉 2013-10-23
  • 打赏
  • 举报
回复
引用 12 楼 zhuchao_ko 的回复:
[quote=引用 11 楼 cs123456789dn 的回复:] SSO cas做吧!有很多方法。简单点就是webservice 传入用户信息如果网站没有就自动入库保存 然后再执行对面的登录方法。给一个B网站的伪连接访问路劲 把A网站用户名和密码简单的提交过去在判断是否有用户没有在B网站调用A提供的webservice把用户信息传递过来B网站接受用户信息保存然后再登陆。有该用户就直接验证登陆了。至于之间的加密可以把上面简单的操作完成之后再进行。
你做过吗?上线了吗?[/quote] 你那里不会。我可以说的详细点。
宁波朱超 2013-10-23
  • 打赏
  • 举报
回复
引用 11 楼 cs123456789dn 的回复:
SSO cas做吧!有很多方法。简单点就是webservice 传入用户信息如果网站没有就自动入库保存 然后再执行对面的登录方法。给一个B网站的伪连接访问路劲 把A网站用户名和密码简单的提交过去在判断是否有用户没有在B网站调用A提供的webservice把用户信息传递过来B网站接受用户信息保存然后再登陆。有该用户就直接验证登陆了。至于之间的加密可以把上面简单的操作完成之后再进行。
你做过吗?上线了吗?
宁波朱超 2013-10-23
  • 打赏
  • 举报
回复
引用 16 楼 cs123456789dn 的回复:
[quote=引用 14 楼 zhuchao_ko 的回复:] [quote=引用 13 楼 cs123456789dn 的回复:] [quote=引用 12 楼 zhuchao_ko 的回复:] [quote=引用 11 楼 cs123456789dn 的回复:] SSO cas做吧!有很多方法。简单点就是webservice 传入用户信息如果网站没有就自动入库保存 然后再执行对面的登录方法。给一个B网站的伪连接访问路劲 把A网站用户名和密码简单的提交过去在判断是否有用户没有在B网站调用A提供的webservice把用户信息传递过来B网站接受用户信息保存然后再登陆。有该用户就直接验证登陆了。至于之间的加密可以把上面简单的操作完成之后再进行。
你做过吗?上线了吗?[/quote] 你那里不会。我可以说的详细点。[/quote] 这是SSO CASE的流程 你自己对着看,不明白SSO的也得看,看不明白说明离SSO还远的很, 至于你我肯定你没做过SSO,更不要提上线的SSO了。[/quote] 你说用cas吗?这个我确实做过你看我主页就知道了。我提的一些问题。不解释了。没必要争吵。 好久之前做的。[/quote] http://blog.csdn.net/cs123456789dn?viewmode=contents 你的主页没有。 是我太认真了,不好意思。罢了。
对java有感觉 2013-10-23
  • 打赏
  • 举报
回复
引用 14 楼 zhuchao_ko 的回复:
[quote=引用 13 楼 cs123456789dn 的回复:] [quote=引用 12 楼 zhuchao_ko 的回复:] [quote=引用 11 楼 cs123456789dn 的回复:] SSO cas做吧!有很多方法。简单点就是webservice 传入用户信息如果网站没有就自动入库保存 然后再执行对面的登录方法。给一个B网站的伪连接访问路劲 把A网站用户名和密码简单的提交过去在判断是否有用户没有在B网站调用A提供的webservice把用户信息传递过来B网站接受用户信息保存然后再登陆。有该用户就直接验证登陆了。至于之间的加密可以把上面简单的操作完成之后再进行。
你做过吗?上线了吗?[/quote] 你那里不会。我可以说的详细点。[/quote] 这是SSO CASE的流程 你自己对着看,不明白SSO的也得看,看不明白说明离SSO还远的很, 至于你我肯定你没做过SSO,更不要提上线的SSO了。[/quote] 你说用cas吗?这个我确实做过你看我主页就知道了。我提的一些问题。不解释了。没必要争吵。 好久之前做的。
zswiori 2013-10-23
  • 打赏
  • 举报
回复
也可以这样做:找一条中继服务器C,专门做用户认证用的,A网站登录时,是在C上登录,登录成功C跳转回A,并给A一个加密字符串,A带着这个字符串就可以去所有用C做认证的网站了,比如A带着字符串去B,B接收到字符串就用这个字符串去C找找这个字符串所对应用户的登录状态,以及用户信息。如果发现用这个字符串在C上找不到用户,那就跳到C上去做登录,登录完成再返回加密字符串给B。
jake512 2013-10-22
  • 打赏
  • 举报
回复
你可以是用cas单点登录,如果是在不同的网站上面对应的比如A点设置了单点登录,那么你在B站也同样要配置,并且要将A点的秘钥达到B点的web容器中(如tomcat)。这样就相当于AB点的client是相同的,基于cookie验证,那么他就不用再在B站登录。
卡卡吉利 2013-10-22
  • 打赏
  • 举报
回复
需要他们提供api,当用户链接到你们网站时,你们要请求他们返回是否登录,如果登录就返回用户信息。既然是跟别人合作,实现关键还是看你们跟别人谈好了没有。
davelam1991 2013-10-22
  • 打赏
  • 举报
回复
引用 6 楼 zuoziji_lj 的回复:
如果是应用别人网站的帐号必须做认证才可以,像微薄有开放的API。如果两个网站都是自己的,直接共享session就行了
就是与我们合作的别人的网站跳转到我们网站时,要把他们当前的用户信息塞给我们
卡卡吉利 2013-10-22
  • 打赏
  • 举报
回复
如果是应用别人网站的帐号必须做认证才可以,像微薄有开放的API。如果两个网站都是自己的,直接共享session就行了
davelam1991 2013-10-22
  • 打赏
  • 举报
回复
引用 3 楼 wei305720080 的回复:
[quote=引用 楼主 xanxus46 的回复:] 最近在做一个项目,要实现两个域名不同的网站间的单点登录,就是网站A中有网站B的一个链接,用户在网站A已经登录,但没有网站B的账号,而用户只需要在网站A点击链接,进入网站B就能继续使用网站A的账号,就好比,你在看微博时点击一个外站的链接,进入外站的时候可以继续使用你微博的账号,请问这个需要使用什么技术?项目急需,求大神相助。
这个用的Oauth2.0 协议,新浪、腾讯、百度以及现在很多bbs 都用这个协议,可以参考一下 http://open.weibo.com/wiki/%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E[/quote] 不,这不是Oauth协议,Oauth是第三方主动使用微博帐号,而我这里是微博主动把帐号给第三方系统
对java有感觉 2013-10-22
  • 打赏
  • 举报
回复
SSO cas做吧!有很多方法。简单点就是webservice 传入用户信息如果网站没有就自动入库保存 然后再执行对面的登录方法。给一个B网站的伪连接访问路劲 把A网站用户名和密码简单的提交过去在判断是否有用户没有在B网站调用A提供的webservice把用户信息传递过来B网站接受用户信息保存然后再登陆。有该用户就直接验证登陆了。至于之间的加密可以把上面简单的操作完成之后再进行。
宁波朱超 2013-10-22
  • 打赏
  • 举报
回复
看了这些回复 我感觉我还是很有机会活下去的。
无聊找乐 2013-10-21
  • 打赏
  • 举报
回复
cookie里加个token。服务器端可以把token放数据库也可以放memcached缓存里 用户登录时对token判断下就好了
  • 打赏
  • 举报
回复
引用 楼主 xanxus46 的回复:
最近在做一个项目,要实现两个域名不同的网站间的单点登录,就是网站A中有网站B的一个链接,用户在网站A已经登录,但没有网站B的账号,而用户只需要在网站A点击链接,进入网站B就能继续使用网站A的账号,就好比,你在看微博时点击一个外站的链接,进入外站的时候可以继续使用你微博的账号,请问这个需要使用什么技术?项目急需,求大神相助。
这个用的Oauth2.0 协议,新浪、腾讯、百度以及现在很多bbs 都用这个协议,可以参考一下 http://open.weibo.com/wiki/%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E
快乐的2 2013-10-20
  • 打赏
  • 举报
回复
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获取用户信息的.以上只是简单实现原理.
rumlee 2013-10-20
  • 打赏
  • 举报
回复
找个sso框架直接用也可以。自己实现的话,这个也不难,在url中进行一些加密,并能够支持url加密信息的认证就可以了。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧