Spring security 如果使用app1而不使用其他应用程序,则TGT将过期

Spring security 如果使用app1而不使用其他应用程序,则TGT将过期,spring-security,cas,Spring Security,Cas,我们有一个关于门票发放和门票过期政策的问题。我们正在使用cas身份验证。TGT在2小时后过期,而java会话在30分钟后退出。我们的问题是,如果用户仅使用一个web应用程序工作超过两小时,然后尝试使用另一个web应用程序,则票证授予票证过期,因此用户必须重新登录,尽管他可以在第一个web应用程序中工作 当用户在第一个web应用程序中工作时,有没有办法更新授予票证的票证???遗憾的是,缺少一些魔力,从CAS 3.4开始(当我研究一个非常类似的问题时),答案是否定的 如果你一定要实现这个功能,我遇到

我们有一个关于门票发放和门票过期政策的问题。我们正在使用cas身份验证。TGT在2小时后过期,而java会话在30分钟后退出。我们的问题是,如果用户仅使用一个web应用程序工作超过两小时,然后尝试使用另一个web应用程序,则票证授予票证过期,因此用户必须重新登录,尽管他可以在第一个web应用程序中工作


当用户在第一个web应用程序中工作时,有没有办法更新授予票证的票证???

遗憾的是,缺少一些魔力,从CAS 3.4开始(当我研究一个非常类似的问题时),答案是否定的


如果你一定要实现这个功能,我遇到的最好的想法(是同事提出的,不是我)是让你的应用程序的每个页面都使用Javascript来“ping”你的CAS服务器(一个不关心返回的简单AJAX请求就行了),并实现一个自定义TGT过期策略,该策略跟踪最后一次ping并在最后一次ping超过X秒时过期票据。然而,这种方法需要大量挂钩到CAS框架中,我建议不要这样做。我会提供代码,但我已经很久没有真正深入研究CAS的内部结构了。

谢谢您的回答。如何实现自定义TGT过期策略和扩展TGT。请发表一些想法或代码。这样我才能决定往哪个方向走。我将感谢您的帮助。很抱歉,我不能提供更多的帮助,但实现过程花费了我数周的时间来挖掘CAS源代码,而且非常脆弱(因此我们决定改变方向)。那是几个月前的事了,我记不起为了让它正常工作我必须跳过去的所有障碍,而且有很多障碍。我能提供的最好的建议是,如果你想在多个应用程序之间以非活动超时的方式实现SSO,那么CAS不是一个可行的选择。我可以知道还有什么选择吗。还有你用过的另一个方向。如果你不介意告诉我。这完全取决于你所保护的应用程序的性质,并且可能会有它自己的新问题。