Java **不适用于web.xml安全约束

Java **不适用于web.xml安全约束,java,servlets,web.xml,security-constraint,Java,Servlets,Web.xml,Security Constraint,我想对/gadgets/{any directory}/css/*拥有不受限制的访问权限。 我试着这样说 无保护区 /gadgets/**/css/* 保护区 /小玩意/* 登录 但它不起作用 servlet规范不支持您尝试使用的模式(可下载): 在Web应用程序部署描述符中,使用以下语法 用于定义映射: 以“/”字符开头的字符串,以及 以“/*”后缀结尾用于路径映射 一串 以“*”前缀开头的将用作扩展映射 空字符串(“”)是一种特殊的URL模式,它精确地映射到 应用程序的上下文根,即

我想对/gadgets/{any directory}/css/*拥有不受限制的访问权限。 我试着这样说


无保护区
/gadgets/**/css/*
保护区
/小玩意/*
登录

但它不起作用

servlet规范不支持您尝试使用的模式(可下载):

在Web应用程序部署描述符中,使用以下语法 用于定义映射:

  • 以“/”字符开头的字符串,以及 以“/*”后缀结尾用于路径映射
  • 一串 以“*”前缀开头的将用作扩展映射
  • 空字符串(“”)是一种特殊的URL模式,它精确地映射到 应用程序的上下文根,即表单的请求 /。在本例中,路径信息为“/”,并且 servlet路径和上下文路径为空字符串(“”)
  • 一串 仅包含“/”字符表示 在本例中,servlet路径是请求URI 减去上下文路径,路径信息为空
  • 所有其他字符串仅用于精确匹配
因此,如果需要匹配所有CSS文件,您应该能够将其指定为扩展映射:

<security-constraint>
  <web-resource-collection>
    <web-resource-name>Unprotected Area</web-resource-name>
    <url-pattern>*.css</url-pattern>
  </web-resource-collection>
</security-constraint>

无保护区
*.css

servlet规范不支持您尝试使用的模式(可下载):

在Web应用程序部署描述符中,使用以下语法 用于定义映射:

  • 以“/”字符开头的字符串,以及 以“/*”后缀结尾用于路径映射
  • 一串 以“*”前缀开头的将用作扩展映射
  • 空字符串(“”)是一种特殊的URL模式,它精确地映射到 应用程序的上下文根,即表单的请求 /。在本例中,路径信息为“/”,并且 servlet路径和上下文路径为空字符串(“”)
  • 一串 仅包含“/”字符表示 在本例中,servlet路径是请求URI 减去上下文路径,路径信息为空
  • 所有其他字符串仅用于精确匹配
因此,如果需要匹配所有CSS文件,您应该能够将其指定为扩展映射:

<security-constraint>
  <web-resource-collection>
    <web-resource-name>Unprotected Area</web-resource-name>
    <url-pattern>*.css</url-pattern>
  </web-resource-collection>
</security-constraint>

无保护区
*.css

我也遇到了同样的问题。我的*.css和*.js文件位于
WebRoot/resources/css
WebRoot/resources/script
中。要访问这些文件,我在我的
“*-servlet.xml”中添加了一行

现在,我通过将以下代码添加到我的
web.xml
作为最后一个安全约束,允许访问所有用户角色:

CSS和JS文件
/资源/*


我希望这有帮助。

我也遇到了同样的问题。我的*.css和*.js文件位于
WebRoot/resources/css
WebRoot/resources/script
中。要访问这些文件,我在
中添加了一行
“*-servlet.xml”

现在,我通过将以下代码添加到我的
web.xml
作为最后一个安全约束,允许访问所有用户角色:

CSS和JS文件
/资源/*

我希望这有帮助