静态资源的正确路径,以便从授权约束中省略它们

问题描述

我有一个使用 websphere 的 java ee-struts 应用程序,如果用户登录,一切都会受到限制。即使是 css 和图像之类的静态资源。我想对两件事不限制访问,style.cssblue_logo.gif 文件,以便它们无需注册即可使用。我发现这篇文章 here 显示了如何做到这一点,但我不知道如何编写确切的路径来指定我需要的 2 个资源中的每一个。有人可以根据以下内容为我提供确切的路径我提供的文件夹结构?谢谢

这是我拥有的代码,它限制了一切。这是来自位于我的模块的 WEB-INF 文件夹中的 web.xml 文件

<security-constraint>
   <display-name>ABC_Access<display-name>
   <web-resource-collection>
       <web-resource-name>All_resources</web-resource-name>
       <url-pattern>/*</url-pattern>
   <web-resource-collection>
   <auth-constraint>
       <description>all_authent</description>
       <role-name>all</role-name>
   </auth-constraint>
</security-constraint>

我的文件夹结构是:

src>main>webapp>WEB-INF>web.xml
               >css>style.css
               >images>blue_logo.gif

解决方法

您应该有这样的附加约束,没有 auth-constraint。检查这个 - “如果没有授权约束,容器必须接受请求而不需要用户身份验证。” Specifying an Authorization Constraint

<security-constraint>
   <display-name>Unprotected resources<display-name>
   <web-resource-collection>
       <web-resource-name>unprotected_resources</web-resource-name>
       <url-pattern>/images/*</url-pattern>
       <url-pattern>/css/*</url-pattern>
   <web-resource-collection>
    <!-- do not provide auth-constraint -->
</security-constraint>