我遇到过必须限制用户进行多次登录的要求。如果用户从Firefox登录并尝试通过IE登录,则应限制说您已经通过不同的浏览器或系统登录。我在我的Web应用程序中使用CAS sso和spring security。假设有可能,处理好的地方? CAS或网络应用程序?
答案 0 :(得分:1)
Spring Security为您的案例Concurrent Session Control提供了一个特殊功能。您可以通过在http配置中添加以下标记来阻止用户多次登录:
<http>
...
<!-- Preventing simultaneous logins -->
<session-management>
<concurrency-control max-sessions="1" error-if-maximum-exceeded="true" />
</session-management>
...
</http>
直接从官方文档中获取的示例。它适用于您的IE / FF案例。
答案 1 :(得分:0)
要保持用户的登录状态,您需要在cookie中存储会话ID。 Cookie不能在不同浏览器之间共享。因此,您可以通过存储在相应浏览器中的不同会话ID区分不同的会话然后,您可以了解用户是否已从其他浏览器登录。