接缝FORM问题

时间:2011-08-25 21:38:25

标签: java servlets seam web.xml

我有一个简单的表单方法......

<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页面没有。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

表单上的action="j_security_check"属性保证他提交按钮会将您发送到j_security_check。您可能想要做的是让j_security_check的处理程序重定向回login.xhtml,让用户再次尝试输入凭据。

答案 1 :(得分:0)

http://www.coderanch.com/t/448131/JSF/java/forms-authentication-security-check-JSF有答案

如果您正在执行j_Security_check

,则无法使用JSF设置页面样式