cas在360浏览器单点登录失败,原因以及解决办法

3 篇文章 0 订阅

cas在360浏览器单点登录失败,原因以及解决办法

问题描述

在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
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java实现可跨浏览器登录需要使用到SSO(Single Sign-On)技术,也就是登录技术,该技术可以让用户在一次登录后,就可以访问多个应用系统,而无需为每一个系统独认证登录,大大提高了用户的使用体验。 在Java中实现可跨浏览器登录,可以采用SAML(Security Assertion Markup Language)标准来实现。SAML是一种XML(Extensible Markup Language)格式的安全标准,通过SAML可以在进行跨域通信时,对用户信息进行认证和授权。 SAML的实现需要由三个部分组成,分别是服务提供商SP(Service Provider)、身份提供者IdP(Identity Provider)和用户,其中服务提供商是需要被认证和授权的应用系统,而身份提供者是本地认证和授权的中心,用户就是使用应用系统的人。身份提供者通过对用户的认证,生成SAML断言,向服务提供商证明用户的身份,服务提供商通过验证SAML断言实现登录。 在Java中,可以通过使用开源的SSO框架来实现登录,比如CAS(Central Authentication Service)框架,CAS可以集成多个第三方身份验证系统,支持SAML认证、OAuth2.0和OpenID Connect等协议,提供基于Ticket的认证方式,实现了完善的登录功能。 总之,Java实现可跨浏览器登录需要使用到SSO技术和SAML标准,通过使用SSO框架来实现登录可以大大提高用户的使用体验,降低用户的使用成本。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值