Java JAAS表单身份验证在Jboss中总是失败

Java JAAS表单身份验证在Jboss中总是失败,java,jboss,authorization,jaas,Java,Jboss,Authorization,Jaas,我已经开发了基于Jboss教程示例的web应用程序。在结果登录页面中,将我发送到登录错误页面。我使用DatabaseServerLoginModule。如果替换为UsersRolesLoginModule,则可以登录 谷歌建议我发帖子,但还没有回复 Jboss日志: 我认为11:37:09128 DEBUG[[jsp]:DEBUG]中的问题是禁用响应以获得进一步的输出 我的确认: login config.xml <application-policy name = "JaasDbRea

我已经开发了基于Jboss教程示例的web应用程序。在结果登录页面中,将我发送到登录错误页面。我使用DatabaseServerLoginModule。如果替换为UsersRolesLoginModule,则可以登录

谷歌建议我发帖子,但还没有回复

Jboss日志:

我认为11:37:09128 DEBUG[[jsp]:DEBUG]中的问题是禁用响应以获得进一步的输出

我的确认:

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>
    <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>

jdbc/MysqlDS
从username中选择passwd,其中username=?
从userRoles中选择userRoles,“Roles”,其中username=?
jboss web.xml

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

java:/jaas/JaasDbRealm
web.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>
    <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
/error.jsp
管理
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>

用户名:
用户密码:

已发现问题。失败的数据源JNDI名称jdbc/MysqlDS

重新映射到java:jdbc/MysqlDS,工作正常