【发布时间】:2011-08-25 21:38:25
【问题描述】:
我有一个简单的表单方法...
<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 页面没有。
有什么想法吗?
【问题讨论】:
-
那你能发布 j_security_check.html 文件吗?为什么它没有样式?
-
为这两个文件提供所有的 HTML。
-
在 j_security_check html 中包含相同的样式表。或者...包括更多细节。
-
您的 css 很可能在一个单独的文件中,并且往返会弄乱 css 文件的路径。您可以签入 Firebug 或类似文件以查看用于尝试获取 css 文件的路径。
-
对不起,不是真的。您的 css 文件是安全的,这看起来有点奇怪,因为它们在用户登录之前无法工作。您确实需要在 firebug 中跟踪 http 以查看 css 请求和响应发生了什么。请求是否发送?他们返回 200 还是 404 状态码。如果是 200,文件中有什么? (顺便说一句,如果您想让某人知道您已回复评论,请在回复中将@放在他们的用户名之前 - 例如@Alohci)
标签: java servlets seam web.xml