У меня есть простой метод формы ...

<form method="POST" action="j_security_check">
    <table>
        <tr>
            <td>Name:</td>
            <td><input type="text" name="j_username" /></td>
        </tr>
        <tr style="margin-top: 10px;">
            <td>Password:</td>
            <td><input type="password" name="j_password" /></td>
        </tr>
        <tr>
            <td colspan="2"><input type="submit" value="Go" /></td>
        </tr>                   
    </table>
</form>

Эта страница находится в login.xhtml.

Когда пользователь вводит неправильную информацию, он перенаправляет меня на j_security_check.html, а когда это делает, он теряет весь свой стиль. Это можно обойти?

Ресурс для появления логина:

<login-config>
    <auth-method>CLIENT-CERT,FORM</auth-method>
    <form-login-config>
        <form-login-page>/login.seam</form-login-page>
        <form-error-page>/login.seam</form-error-page>
    </form-login-config>
</login-config>

Кроме того, доступные данные:

<security-constraint>
    <web-resource-collection>
        <web-resource-name>Accessible Data</web-resource-name>
        <url-pattern>/login</url-pattern>
        <url-pattern>/a4j/*</url-pattern>
        <url-pattern>/css/*</url-pattern>
        <url-pattern>/img/*</url-pattern>
    </web-resource-collection>
</security-constraint>

Когда я заглядываю внутрь источника представления, мне кажется, что в исходный код страницы входа загружены все CSS и атрибуты, а на странице j_security_check нет.

Любые идеи?

1
Kevin 26 Авг 2011 в 01:38

2 ответа

Лучший ответ

http://www.coderanch.com/t / 448131 / JSF / java / forms-authentication-security-check-JSF дает ответ

Невозможно стилизовать вашу страницу с помощью JSF, если вы выполняете j_Security_check

0
Kevin 29 Авг 2011 в 21:48

Атрибут action="j_security_check" в форме гарантирует, что кнопка отправки отправит вас в j_security_check. Что вы, вероятно, захотите сделать, так это иметь свой обработчик для j_security_check перенаправления обратно на login.xhtml, чтобы пользователь мог снова попытаться ввести свои учетные данные.

0
sblom 25 Авг 2011 в 21:41