我目前正在使用ProgrammaticLogin
來針對服務器對客戶端用戶進行身份驗證的客戶端服務器應用程序。 Glassfish
設置了默認領域,通過ActiveDirectory
進行身份驗證。我們最近將lightboxfish的版本從3.0.1
升級到3.1.2.2
,現在我們遇到了一個奇怪的錯誤:經過一段時間的運行,看似隨機,默認安全領域更改爲file
,而不是ActiveDirectory
-realm!不用說,這會抑制人們從客戶端登錄的能力。當glassfish重新啓動時,它會再次開始工作,正確使用ActiveDirectory
-real進行身份驗證。Glassfish 3.1.2.2在一段時間後將其默認登錄域更改爲
有沒有人知道可能會導致這種行爲從Glassfish
?它可能是從AD
-realm或其他東西斷開?從錯誤之後的堆棧跟蹤
摘錄生效:
Programmatic login failed
com.sun.enterprise.security.auth.login.common.LoginException: Login failed: Failed file login for me.
at com.sun.enterprise.security.auth.login.LoginContextDriver.doPasswordLogin(LoginContextDriver.java:394)
at com.sun.enterprise.security.auth.login.LoginContextDriver.login(LoginContextDriver.java:240)
at com.sun.enterprise.security.auth.login.LoginContextDriver.login(LoginContextDriver.java:153)
at com.sun.appserv.security.ProgrammaticLogin$1.run(ProgrammaticLogin.java:174)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.appserv.security.ProgrammaticLogin.login(ProgrammaticLogin.java:168)
at com.sun.appserv.security.ProgrammaticLogin.login(ProgrammaticLogin.java:239)
at com.sun.appserv.security.ProgrammaticLogin.login(ProgrammaticLogin.java:211)
[...]
Caused by: javax.security.auth.login.LoginException: Failed file login for me.
at com.sun.enterprise.security.auth.login.FileLoginModule.authenticate(FileLoginModule.java:84)
at com.sun.enterprise.security.auth.login.PasswordLoginModule.authenticateUser(PasswordLoginModule.java:117)
at com.sun.appserv.security.AppservPasswordLoginModule.login(AppservPasswordLoginModule.java:143)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at javax.security.auth.login.LoginContext.invoke(LoginContext.java:784)
at javax.security.auth.login.LoginContext.access$000(LoginContext.java:203)
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:698)
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:696)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:695)
at javax.security.auth.login.LoginContext.login(LoginContext.java:594)
at com.sun.enterprise.security.auth.login.LoginContextDriver.doPasswordLogin(LoginContextDriver.java:382)
有趣。我們一直在開發Glassfish 3.1.2.2以及生產超過一年,沒有任何問題。我們使用自定義的數據庫領域。你確定你的領域始終沒有問題的初始化? – Mareen