问题描述
在360浏览中使用极速模式访问cas登录A系统成功后,访问B系统后单点失败跳转到cas的登录页面但是浏览器地址已经显示是B系统的url,刷新网页后地址栏还是B系统的地址,但是浏览器显示的还是cas的登录界面
解决方法
cas在认证时会先经过 InitialFlowSetupAction这个类
找到configureWebflowContext这个方法中的
接着在CookieRetrievingCookieGenerator这个类中的retrieveCookieValue方法获取TGC
解密好cookie后开始对cookie进行校验
双核浏览器不同的userAgent导致了认证失败那么我们可以找到CasCookieConfiguration这个类
tgc加密是默认开启的可以通过设置 让cas对cookie不加秘跳过useragent的校验也可以通过SpringBoot的注解覆盖DefaultCasCookieValueManager实现自己对cookie的操作这里我选择了不加秘cookie因为公司的应用在内网
cas.tgc.crypto.enabled=false