繁体   English   中英

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

[英]When logging into my Java web app, I'm directed to the CSS used by the login form, how to fix this?

我有一个Java Web应用程序,它包含各种servlet和JSP - 例如:控制器servlet /controller?abc=123&xyz=567 ,其他一些servlet /showDocument?docid=55 ,以及一些对JSP的直接访问, /userDetails.jsp

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

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

问题是:

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

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

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

我该如何解决? 有没有办法让我'白名单'* .css文件,所以他们不受保护。 我是否必须为要保护的特定类型定义不同的安全约束?

这是我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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM