关于第一次成功登录后,登录其它系统

关于第一次成功登录后,登录其它系统

第一次登陆后,可以在知道在CAS系统中已经有了该用户的全局票据。

但在访问其它系统的时候,如何告诉CAS,我是这个用户,因为不同顶级域名,cookie无法互通,所以在其它系统下,似乎没有可以表明自己身份的cookie?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

Cookie在自己系统中获得后再跳转到cas验证噢~具体可以看下代码。
另外目前chrome已经禁止了这一做法,因为不安全。而且也不推行这种方式了。了解一下即可哈~

  • 孤独观测者 提问者 #1

    老师,我看到了另一种cas实现逻辑。在cas系统登录成功后,返回一个票据存在cas系统域名的cookie下,登录B系统时,先找B系统的cookie有没有存token,没有的话,就用cas系统的cookie中票据去cas系统换取token,然后把token存放在b系统的cookie中。不知道这种可不可行?又该如何在b系统下使用cas系统cookie中的票据

    2021-03-25 21:18:33
  • 风间影月 回复 提问者 孤独观测者 #2
    可以的。业务都是自己定的。条条马路通罗马
    2021-03-25 21:22:33
机关枪 2021-03-28 20:03:42

首先系统A去访问受限资源,跳转到sso认证中心https://login.sso.com/login?redirectURL=https://www.a.com/center,用户登录成功之后,sso认证中心生成一个令牌(如token)返回给系统A。

其实这时候,浏览器中存有两个Cookie,一个是系统A的,一个sso认证中心的,并且对应的session都是登录状态

然后系统B第一次去访问受限资源,依然要先跳转sso认证中心,https://login.sso.com/login?redirectURL=https://www.b.com/center,此时,sso认证中心发现携带的Cookie(sso认证中心域名的Cookie)对应的session是登录状态的,那就直接省去登录的过程,直接把用户的令牌返回给系统B就行了。

此时浏览器中有三个Cookie,对应的session都是登录状态的!!


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师