Java CAS:以其他用户身份登录的用户

Java CAS:以其他用户身份登录的用户,java,grails,spring-security,single-sign-on,cas,Java,Grails,Spring Security,Single Sign On,Cas,用户是否可能在使用CAS时输入其凭据并以其他人的身份登录?我目前使用的是CAS 3.4.8和一个grails应用程序,它使用spring security core和CAS作为使用CAS的客户端。对CAS服务器进行了一些定制,但没有对其整体流程进行定制 那么这是CAS服务器中的一个bug吗?是否有其他类似于此问题的已知案例 编辑1 问题解决了。我使用servlet过滤器为CAS加载自定义主题,这些主题根据url的不同而变化。这导致了并发问题。我将逻辑移到Springbean中,并将其移到logi

用户是否可能在使用CAS时输入其凭据并以其他人的身份登录?我目前使用的是CAS 3.4.8和一个grails应用程序,它使用spring security core和CAS作为使用CAS的客户端。对CAS服务器进行了一些定制,但没有对其整体流程进行定制

那么这是CAS服务器中的一个bug吗?是否有其他类似于此问题的已知案例

编辑1
问题解决了。我使用servlet过滤器为CAS加载自定义主题,这些主题根据url的不同而变化。这导致了并发问题。我将逻辑移到Springbean中,并将其移到login-weblow.xml,问题得到了解决。

我是CAS主席,我从未听说过类似的错误:“以其他人的身份登录”。我倾向于认为罪魁祸首是您的定制:您是否正确地考虑了多线程方面?

进行了什么样的定制?这是确定性的吗?Szymon,定制是为了身份验证而进行的,身份验证是在用户从登录时发布其凭据后进行的。在登录过程中只点击一次,其余的web流是相同的。您可能有多个应用程序使用相同的CA。我认为您已从其中一个注销,但没有从其他注销…jleleu,在生成票证(ST、TGT等)时使用的UsernamePasswordCredentials对象是否已为不同的用户交换。这个问题很难复制,95%的情况下都不会发生。另外,您能告诉我更多关于多线程方面的内容吗。谢天谢地,如果它是不确定的,那么几乎可以肯定的是,它涉及到一个种族条件。如果应用程序范围的bean(Spring)没有存储任何与会话相关的数据,您可以从检查开始。遵循Szymon的建议,或者检查自定义bean是否使用实例属性来存储用户的数据……您的JSESSIONID的问题很奇怪,但是是的,您可以控制应用程序服务器,甚至可以通过web.xml(servlet 3)来控制您不希望将任何会话id放入URL…您建议的链接与CAS服务器无关,而是与使用Spring Security的CAS客户端相关。我认为Tomcat(url中的JSESSIONID cookie)的问题可能是根本原因。在Tomcat上下文定义中使用disableURLRewriting=“true”。