2011-10-18 9 views
2

私はJbossチュートリアルの例に基づいてWebアプリケーションを開発しました。結果ログインページで私をログインエラーページに送ります。私はDatabaseServerLoginModuleを使用します。 UsersRolesLoginModuleに置き換えると、ログインは正常です。JAASフォーム認証は常にJbossで失敗する

Googleは私にhttp://community.jboss.org/message/141999#141999の投稿を提案しますが、回答はありません。

JBossのログ:

私が考える問題11:37:09128 DEBUG [[JSP]:デバッグ] futher出力の応答を無効に

11:37:08,902 DEBUG [CoyoteAdapter:debug] Requested cookie session id is 3793E0F8FF02F043D9DCF5D98A85AFC6 
11:37:08,903 DEBUG [AuthenticatorBase:debug] Security checking request GET /example2/ 
11:37:08,903 DEBUG [RealmBase:debug] Checking constraint 'SecurityConstraint[All resources]' against GET /index.jsp --> true 
11:37:08,904 DEBUG [RealmBase:debug] Checking constraint 'SecurityConstraint[All resources]' against GET /index.jsp --> true 
11:37:08,904 DEBUG [AuthenticatorBase:debug] Calling hasUserDataPermission() 
11:37:08,904 DEBUG [RealmBase:debug] User data constraint has no restrictions 
11:37:08,956 DEBUG [JNDIBasedSecurityManagement:debug] Creating SDC for domain=JaasDbRealm 
11:37:08,957 DEBUG [JaasDbRealm:debug] CallbackHandler: [email protected] 
11:37:08,958 DEBUG [JaasDbRealm:debug] CachePolicy set to: [email protected] 
11:37:08,959 DEBUG [JNDIBasedSecurityManagement:debug] setCachePolicy, [email protected] 
11:37:09,037 DEBUG [AuthenticatorBase:debug] Calling authenticate() 
11:37:09,039 DEBUG [FormAuthenticator:debug] Save request in session '81BC14FA6517824ADDE56EDAEC9EA0C6' 
11:37:09,128 DEBUG [[jsp]:debug] Disabling the response for futher output 
11:37:09,134 DEBUG [AuthenticatorBase:debug] Failed authenticate() test 
11:37:12,885 DEBUG [CoyoteAdapter:debug] Requested cookie session id is 81BC14FA6517824ADDE56EDAEC9EA0C6 
11:37:12,886 DEBUG [AuthenticatorBase:debug] Security checking request POST /example2/j_security_check 
11:37:12,887 DEBUG [FormAuthenticator:debug] Authenticating username 'admin' 
11:37:13,035 DEBUG [[jsp]:debug] Disabling the response for futher output 
11:37:13,036 DEBUG [AuthenticatorBase:debug] Failed authenticate() test ??/example2/j_security_check 

私のconf:

login-config.xml

<application-policy name = "JaasDbRealm"> 
     <authentication> 
      <login-module code = "org.jboss.security.auth.spi.DatabaseServerLoginModule" 
      flag = "required"> 

<module-option name="dsJndiName">jdbc/MysqlDS</module-option> 
       <module-option name="principalsQuery">select passwd from Users username where username=?</module-option> 
       <module-option name="rolesQuery">select userRoles, 'Roles' from UserRoles where username=?</module-option> 
      </login-module> 
     </authentication> 
    </application-policy> 

のjboss-web.xmlの

<?xml version="1.0" encoding="UTF-8"?> 
<jboss-web> 
    <security-domain>java:/jaas/JaasDbRealm</security-domain> 
</jboss-web> 

web.xmlの

<security-constraint> 
     <web-resource-collection> 
      <web-resource-name>All resources</web-resource-name> 
      <description>Protects all resources</description> 
      <url-pattern>/*</url-pattern> 
     </web-resource-collection> 
     <auth-constraint> 
      <role-name>admin</role-name> 
     </auth-constraint> 
    </security-constraint> 
    <login-config> 
     <auth-method>FORM</auth-method> 
     <form-login-config> 
      <form-login-page>/login.jsp</form-login-page> 
      <form-error-page>/error.jsp</form-error-page> 
     </form-login-config> 
    </login-config> 
    <security-role> 
     <role-name>admin</role-name> 
    </security-role> 

login.jspを

<form name="loginForm" method="post" action="j_security_check"> 
      <table> 
       <tr> 
        <td>User Name:</td> 
        <td><input type="text" name="j_username"></td> 
       </tr> 
       <tr> 
        <td>User Password:</td> 
        <td><input type="text" name="j_password"></td> 
       </tr> 
       <tr colspan="2"> 
        <td><input type="submit" value="login"></td> 
       </tr> 
      </table> 
     </form> 

答えて

2

問題が発見されました。失敗データソースJNDI名jdbc/MysqlDS

jdbc/MysqlDSと正常に動作します。

関連する問題