Security JBoss5上的JAAS web安全

Security JBoss5上的JAAS web安全,security,jsf,jboss,jaas,Security,Jsf,Jboss,Jaas,您好,我正在尝试在jboss上执行基于表单的身份验证: 这些是我的配置文件。 login-config.xml: <application-policy name="MyPolicy"> <authentication> <login-module flag="required" code="org.jboss.security.auth.spi.DatabaseServerLoginModule"> <modul

您好,我正在尝试在jboss上执行基于表单的身份验证: 这些是我的配置文件。 login-config.xml:

<application-policy name="MyPolicy">
<authentication>
    <login-module flag="required"
        code="org.jboss.security.auth.spi.DatabaseServerLoginModule">
        <module-option name="dsJndiName">java:/espritDS</module-option>
        <module-option name="principalsQuery">SELECT password FROM users WHERE
            username=?</module-option>
        <module-option name="rolesQuery">SELECT groupname FROM groups WHERE
            username=?</module-option>
    </login-module>
</authentication>
web.xml:

<!-- Security  -->
<security-constraint>
    <web-resource-collection>
        <web-resource-name>secret</web-resource-name>
        <url-pattern>/faces/secret/*</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>/faces/login.jsp</form-login-page>
        <form-error-page>/faces/loginError.jsp</form-error-page>
    </form-login-config>
</login-config>

<security-role>
    <role-name>admin</role-name>
</security-role>
和jboss-web.xml:

<jboss-web>
<!-- A security domain that restricts access -->
<security-domain>java:/jaas/MyPolicy</security-domain>
</jboss-web>
我认为我不需要设置用户和角色文件,因为我有一个数据库,我在其中插入了一些用户和角色,但我遇到了这个异常,没有设法处理它: 11:57:26587错误[UsersRolesLoginModule]无法加载用户/密码/角色文件 java.io.IOException:无属性文件:users.properties或defaults:defaultUsers.properties已找到

您的角色查询有错误。应该是这样的:

<module-option name="rolesQuery">SELECT groupname, 'Roles' FROM groups WHERE
        username=?</module-option>
我没有看到其他错误


您可以在此处阅读有关DatabaseServerLoginModule模块的更多信息:

StelmachThanx,这是一个错误,我还忘了重新启动jboss。现在例外情况消失了。但是当我请求机密页面时,我不会被重定向到登录页面。是不是SQL请求中还有其他错误?@boskonovic不客气。我不知道为什么它不起作用。如果您使用SSL,请检查它是否已配置。我想最好再问一个描述恰当的问题。Stelmach好吧,多亏了你,现在一切都好了。实际上,没有其他错误。我甚至设法让ssl工作,但我不需要整个应用程序的ssl。有什么建议吗?我想我得问另一个问题,就像你说的。