限制用户使用多个loggins

时间:2014-02-07 06:15:01

标签: java spring hibernate spring-security openjpa

我遇到过必须限制用户进行多次登录的要求。如果用户从Firefox登录并尝试通过IE登录,则应限制说您已经通过不同的浏览器或系统登录。我在我的Web应用程序中使用CAS sso和spring security。假设有可能,处理好的地方? CAS或网络应用程序?

2 个答案:

答案 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区分不同的会话然后,您可以了解用户是否已从其他浏览器登录。

相关问题