2016-05-07 31 views
1

我寫了自定義身份驗證提供程序,它的工作。我遵循this tutorial自定義身份驗證提供程序忽略會話管理

我也使用像這樣的HttpSecurity配置。

http 
.... 
.... 
.sessionManagement() 
    .sessionFixation().migrateSession() 
    .maximumSessions(1) 
    .expiredUrl("/expired") 
    .maxSessionsPreventsLogin(true) 
    .sessionRegistry(sessionRegistry()) 
    ; 

但用戶仍然可以登錄twise和更多。

作爲比較,inMemoryAuthentication和jdbcAuthentication正在工作。只有AuthenticationProvider不是。

+0

是你的自定義AuthenticationProvider返回一個身份驗證與任何自定義對象(即,你有一個自定義的身份驗證實現,委託人的自定義對象等)?如果是這樣,確保你已經實現了hashCode並且等於 –

+0

Owh,那就是問題所在。 現在有效。謝謝。 – Wirasto

回答

0

如果您使用自定義身份驗證,UserDetails或主體進行身份驗證,確保實現hashCode和equals方法。

相關問題