gpt4 book ai didi

java - 登录我的 Java Web 应用程序时,我被定向到登录表单使用的 CSS,如何解决这个问题?

转载 作者:行者123 更新时间:2023-11-29 03:45:53 24 4
gpt4 key购买 nike

我有一个 Java 网络应用程序,它由各种 servlet 和 JSP 组成——示例:controller servlet /controller?abc=123&xyz=567,一些其他 servlets /showDocument? docid=55,和一些直接访问 JSPs,/userDetails.jsp

我已启用网络安全以防止访问所有内容(如下所示),并且我有一个链接到 css 文件 /styles.csslogin.jsp 页面。

当我访问任何 URL 时,我将被重定向到 login.jsp 页面。

问题是:

(1) 登录页面没有使用 CSS 样式,可能是因为 styles.css 被认为是 protected 资源,我还没有登录。

(2) 使用用户名和密码成功登录后,我被定向到 style.css 文件(在浏览器中显示为纯文本)。我猜这是因为到 css 文件的链接被认为是最近请求的 protected 资源,所以它假设这是我想去的地方。

如果我将 CSS 内容复制并粘贴到我的 JSP 中,这两个问题都会消失,但我在两个地方都有 CSS,即 style.css 和 login.jsp。

我该如何解决这个问题?有没有办法让我将 *.css 文件列入“白名单”,使它们不 protected 。我是否必须为要保护的特定类型定义不同的安全约束?

这是我的 web.xml 当前的安全约束:

<security-constraint>
<display-name>name</display-name>
<web-resource-collection>
<web-resource-name>Restricted</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>APP_USER</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>

这就是我在 JSP 中链接到 CSS 的方式:

<head>
<LINK REL=StyleSheet HREF="styles.css" TYPE="text/css" MEDIA="screen" />
</head>

非常感谢任何帮助!

罗布

最佳答案

您可以在保护所有内容后禁用 css 和图像的安全性

<security-constraint>
<display-name>name</display-name>
<web-resource-collection>
<web-resource-name>Restricted</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>APP_USER</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
<security-constraint><!--Exclude css and images here -->
<web-resource-collection>
<web-resource-name>Exclude from Security</web-resource-name>
<url-pattern>/images/*</url-pattern><!-- No security for images -->
<url-pattern>/css/*</url-pattern><!-- No security for css -->
</web-resource-collection>
</security-constraint>

关于java - 登录我的 Java Web 应用程序时,我被定向到登录表单使用的 CSS,如何解决这个问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10936396/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com