cas单点登录跳转另外一个系统时遇到的问题

现在是两个系统通过同一个cas单点登录,我对cas这方面了解也不多,系统A里点击按钮跳转到系统B的某一页面时,遇到了如下问题:

系统A登录后第一次点击跳转可以正常跳转系统B的某一界面

在系统A或者系统B任一系统退出登录后,重新登陆系统A,第一次点击跳转就不会跳转到指定界面,url会从指定的变为系统B首页的地址

但是第二次点击就没问题,会跳转到指定页面

具体我猜测可能是cas单点登录这里用户缓存或者注销后session方面的问题,由于了解不多,改bug时间有限,就用了以下方法解决

如果大家知道怎么回事可以解决的可以告诉我,谢谢啦

现在就是打开新窗口之后,(这是模拟第一次点击)经过判断后关掉,刷新页面url重新载入(模拟第二次点击),

这样用这种方式避免了可能是缓存引起的第一次点击不生效的问题

 let newTab = window.open(url, "_blank");  //打开新窗口
 setTimeout (function () {
    if (!newTab.closed) {
        newTab.close();
       }
     window.open(url, "_blank")
 }, 1000);

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CAS(Central Authentication Service)是一种单点登录协议,可以实现在多个应用系统中,用户只需要登录一次就可以访问所有应用系统。 要实现CAS单点登录,需要以下步骤: 1. 部署CAS服务器:CAS服务器是一个独立的单点登录服务器,可以独立部署或者和其他应用部署在同一台服务器上。 2. 配置CAS服务器:CAS服务器需要配置认证方式、用户信息源等信息。可以使用LDAP、数据库等多种方式来存储用户信息。 3. 集成应用系统:在每个需要单点登录的应用系统中,需要添加CAS客户端组件,与CAS服务器进行通信,实现单点登录功能。 4. 用户认证流程:当用户访问一个需要认证的应用系统,应用系统会重定向到CAS服务器进行认证;如果用户已经登录过其他应用系统,则CAS服务器会返回认证成功的信息,并重定向回应用系统,同在用户浏览器中设置一个CAS票据;如果用户没有登录过,则CAS服务器会要求用户进行认证,并在认证成功后返回CAS票据。 5. 应用系统认证流程:当用户访问其他应用系统,应用系统会检查用户浏览器中是否存在CAS票据,如果存在,则向CAS服务器发送请求,验证票据是否有效;如果有效,则认为用户已经通过认证,允许用户访问应用系统;如果无效,则要求用户重新进行认证。 以上是CAS单点登录的基本实现步骤,具体实现细节会因为不同的应用场景和技术栈而有所不同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值