每个账户只允许一个会话

问题描述 投票:0回答:1

我在我的开发环境中使用CAS 5.3,我希望每个账户只允许一个会话。如果有人试图用相同的凭证登录,而之前的会话仍然没有被销毁,那么系统应该向当前试图登录的用户发出警告,说明你已经用某某IP登录了,你想销毁会话来登录。如果用户确认了他们,系统应该销毁之前的会话,允许当前用户登录。

我已经检查了CAS文档,但我启用找到解决方案。你任何人都可以帮助我在这一点上。早些时候,我是用CAS旧版本的,我已经修改了CAS提供的源。与此实现它。但我不知道如何做同样的事情在CAS 5。

java cas
1个回答
0
投票

我希望每个账户只允许一个会话。如果有人试图用相同的凭证登录,而之前的会话仍然没有被销毁,那么系统就会发出警报。

从CAS 5.2.x开始,有一个认证策略是 "Unique Principal",根据文档可以做到这一点。

如果且仅当请求的委托人还没有通过CAS认证时才会被满足. 否则认证事件将被阻止,防止多次登录。

它还规定。

激活这个策略并不是没有代价的,因为CAS需要查询票据登记处和所有在场的票据,以确定当前用户是否已经在任何地方建立了认证会话。这肯定会给部署增加性能负担。使用时要谨慎。

所以,你或许可以先从配置开始,然后再根据自己的具体需求进行修改或扩展。

更多的信息可以找到 在CAS文档中

© www.soinside.com 2019 - 2024. All rights reserved.