2014-01-27 143 views
0

我正在構建一些寧靜的web服務,並嘗試通過使用JAAS來保護他們。JAAS錯誤:登錄失敗

,但我得到了以下錯誤:

javax.servlet.ServletException: Login failed 

我創建具有以下屬性的境界:

JAAS-Context: jdbcDigestRealm 
DIGEST-Algorithm: SHA-512 
Encoding: Hex 
password encryption: none 

我嘗試登錄使用的HttpServletRequest:

request.login(email, password); //email = [email protected], password=<SHA512HEX('testPasswprd')> 

這裏是StackTrace:

WARNING: WEB9102: Web Login Failed: com.sun.enterprise.security.auth.login.common.LoginException: Login failed: null 
SEVERE: javax.servlet.ServletException: Login failed 
at org.apache.catalina.authenticator.AuthenticatorBase.doLogin(AuthenticatorBase.java:959) 
at org.apache.catalina.authenticator.AuthenticatorBase.login(AuthenticatorBase.java:939) 
at org.apache.catalina.connector.Request.login(Request.java:2245) 
at org.apache.catalina.connector.Request.login(Request.java:2224) 
at org.apache.catalina.connector.RequestFacade.login(RequestFacade.java:1113) 

你有什麼想法嗎?


編輯:

有時我在

request.login(email, password); //both variables and request are set. 


WARNING: StandardWrapperValve[de.AuthTest.core.ApplicationConfig]: Servlet.service() for servlet de.AuthTest.core.ApplicationConfig threw exception 
java.lang.NullPointerException 
at org.apache.catalina.connector.Request.login(Request.java:2229) 
at org.apache.catalina.connector.Request.login(Request.java:2224) 
at org.apache.catalina.connector.RequestFacade.login(RequestFacade.java:1113) 
+0

有沒有人有想法?會是什麼呢? – Laokoon

+0

你在Glassfish服務器上配置了JAAS嗎? – Prince

+0

我通過glassfish webconsole創建了一個jdbcrealm,並將其添加到我的glassfish-web.xml中。是否有更多配置爲glassfish? – Laokoon

回答

0

This tutorial得到一個NullPointerException在Glassfish的4.0測試與Java EE 7的應用程序:

  1. 展開安全性節點。
  2. 展開領域節點。
  3. 選擇文件節點。
  4. 在編輯領域頁面上,單擊管理用戶。
  5. 在「文件用戶」頁面上,單擊「新建」。
  6. 在用戶標識字段中,輸入用戶標識。
  7. 在組列表字段中,輸入TutorialUser。
  8. 在新密碼和確認新密碼字段中,輸入密碼。
  9. 單擊確定。

然後設置默認的主體到角色的映射在GlassFish服務器上:

  1. 從管理控制檯中,展開配置節點,然後展開server-config節點。
  2. 選擇安全節點。
  3. 選中默認主體到角色映射啓用複選框。
  4. 點擊保存