限制wicket应用程序中的并发登录

时间:2015-10-19 05:14:30

标签: java spring login concurrency wicket

我正在使用Apache wicket(v 1.4)和spring(v 3.2)开发Web应用程序,我需要阻止用户从两个不同的用户登录 在同一时间。

我尝试使用spring安全性并发控制,我在xml中添加了以下内容

<security:http create-session="never" auto-config="true">
    <security:remember-me />
    <security:intercept-url pattern="/**" />
    <security:session-management>
        <security:concurrency-control
            max-sessions="1" error-if-maximum-exceeded="true"/>
    </security:session-management>
</security:http>

但它似乎不起作用。

是否有任何检票方法可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

您可以手动跟踪会话/用户&#34;。

例如:使用YourApplication.java中的Set来保留当前登录的用户&#39;名。在signIn(String username, String password)方法中,检查该用户名是否已在该集合中。覆盖Session#onInvalidate()以从Set中删除用户名。 由于此Set是一个全局状态,因此应该同步对它的访问。