为了账号安全,请及时绑定邮箱和手机立即绑定

不同域名,不能共享cookie的情况下怎么用CAS实现单点登录?急啊!

不同域名,不能共享cookie的情况下怎么用CAS实现单点登录?急啊!

qq_遁去的一_1 2019-10-17 09:37:03
各位大佬们,下午好!我现在遇到一个问题如下:利用CASSSO搭建在tomcat服务器上运行后,利用phpCAS作为客户验证登录端本地测试情况如下:三个PHPCAS端,只要有一个登录后,其它两个无需登录,这个在localhost上有效,不同端口也有效当我把hosts文件里的127.0.0.1映射不同的域名时,遭殃了,拿不到cookie,我知道cookie要在同域中才能共享现在就是说,怎样不仅于cookie来实现不同域名的客户端可以实现SSO,就像淘宝跟天猫一样。急啊,求给思路,或者资源。
查看完整描述

2 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

回调,让服务端做.
登录成功后,登录服务会在其域名(sso登录服务的域名)下种入相关cookie.
登录B时,B的后端先检测是否已登录(域名B下是否有cookie),如果未登录则带着回调url(B的登录成功回调地址)跳转到登录页(sso登录服务的页面),登录服务检测到用户已登录(sso登录服务的域名下已有cookie)则把页面重定向到(带有登录等信息)B的回调url,B的回调接口或者页面在自己的域名下种下B自己的cookie.
完事.安全性:登录服务只接受指定的回调url
                            
查看完整回答
反对 回复 2019-10-17
?
qq_笑_17

TA贡献1818条经验 获得超7个赞

第一种,同一个域,但是不同子域,把cas的token设置到根域下,就可以了第二种,所有网站都是你自己的,那你可以写一个js挂到所有域下面,用html5的postMessage做第三种,就类似Oauth做了,就是把token带到url上,进行传递,更通用
                            
查看完整回答
反对 回复 2019-10-17
  • 2 回答
  • 0 关注
  • 205 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信