我有我的applicationContext-security.xml文件是併發控制重寫
<session-management session-authentication-error-url="/genesis">
<concurrency-control max-sessions="1" error-if-maximum-exceeded="true" expired-url="/genesis?sessionExpired=true"/>
</session-management>
這限制了用戶在單個會話。但是,我現在要求一個帳戶必須允許多個會話,同時仍然將所有其他帳戶限制爲單個會話。
有關我如何實現這一點的任何建議?
感謝快速的迴應。然而,閱讀Javadoc的ConcurrentSessionFilter我擔心,通過跳過執行,我會錯過它所做的一切。從API文檔看來,我想要做的是在自定義類中重寫ConcurrentSessionControlStrategy中的getMaximumSessionsForThisUser()方法,並將其注入到ConcurrentSessionFilter中。關於我如何實際配置這個的任何想法? – user497087
在子類只重寫'getMaximumSessionsForThisUser()',並將其添加爲'SessionAuthenticationStrategy'(' 「SAS」')豆和添加'<會話管理會話的認證策略-REF = 「SAS」/>'和'<在UsernamePasswordAuthenticationFilter中的bean:property name =「sessionAuthenticationStrategy」ref =「sas」/>''。 – Xaerxess
+1對於overridnig getMaximumSessionsForThisUser()在CustomSessionAuthenticationStrategy –