Yay güvenliği kullanarak bir web uygulaması geliştirdim. Giriş için LDAP'den erişim alır. Şimdi bahar güvenliğini kullanarak oturumu yönetmek istiyorum, authentication.getName()
kullanarak görebiliyorum username
alıyorum ve ayrıca sessionID
alabilirsiniz.Spring Security kullanarak Oturum Yönetimi: Eşzamanlı oturumlar
Şimdi aynı kullanıcının başka bir tarayıcı kullanarak aynı sistemden giriş yapmaya çalışıp çalışmadığını kontrol etmek istiyorum. Zaten hesabında oturum açtığını belirten bir mesaj alması gerekiyor.
Bunu nasıl başaracağınıza dair bir fikir verebilir mi ????
<security:session-management
invalid-session-url="/login.jsp?error=sessionExpired"
session-authentication-error-url="/login.jsp?error=alreadyLogin">
<security:concurrency-control
max-sessions="1"
expired-url="/login.jsp?error=sessionExpiredDuplicateLogin"
error-if-maximum-exceeded="false" />
</security:session-management>
bunu kullanmaktan ve bana aşağıdaki hatayı veriyor diğer bazı tarayıcı kullanarak giriş deneyin:
HTTP Status 500 - Request processing failed; nested exception is java.lang.IllegalStateException: Cannot call sendError() after the response has been committed
enter code here
bu yerleştirmek gerekir. Artı JdbcTokenRepositoryImpl. Tüm bunlarla birlikte bir tarayıcı ile giriş yapıyorum; ve sonra tekrar başka biriyle giriş yaparım. İkincisi giriş yapmış gibi görünüyor ve gerçekten de. Sorunum, ilk tarayıcıdan aşağıdaki bağlantıyı aldığım bir bağlantı var: 'Estado HTTP 500 - PreparedStatementCallback; kötü SQL dilbilgisi [persistent_logins dosyasından siliniz, username =?]; [blah blah]: 'gbt.persistent_logins' tablosu mevcut değil. Ve tablo aslında DB'den kayboldu! Neler olup bittiği hakkında bir fikriniz var mı? – kazbeel