Веб-безопасность JAAS на jboss 5 - PullRequest
0 голосов
/ 25 мая 2011

привет, я пытаюсь выполнить аутентификацию на основе формы на 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: 26,587 ОШИБКА [UsersRolesLoginModule] Не удалось загрузить файлы пользователей / паролей / ролей. Java.io.IOException: файл свойств отсутствует: users.properties или значения по умолчанию: defaultUsers.properties найдено

1 Ответ

2 голосов
/ 25 мая 2011

В вашем rolesQuery есть ошибка. Это должно выглядеть так:

<module-option name="rolesQuery">SELECT groupname, 'Roles' FROM groups WHERE
        username=?</module-option>

Я не вижу других ошибок.

Подробнее о модулях DatabaseServerLoginModule можно узнать здесь: http://community.jboss.org/wiki/DatabaseServerLoginModule

...