如何拒绝对 Tomcat 目录的 Web 访问

D.L*_*.L. 4 tomcat servlets tomcat7 web

我的 webapp 目录中有一个文件夹。

mywebapp/repositoryFolder
Run Code Online (Sandbox Code Playgroud)

此 Web 应用程序旨在接受带有凭据的 post 请求,并在正确身份验证后在 http 响应中提供文件。我想阻止对这些文件的网络访问。例如,应该不可能从地址直接访问文件:

http://myserver.com/mywebapp/repositoryFolder/filename.ext
Run Code Online (Sandbox Code Playgroud)

Ram*_*PVK 6

将此类文件保存在 WEB-INF 下是一个很好的约定。通常情况下,WEB-INF 下的文件是无法被外界访问的。

但是,另一个您可以通过在 web.xml 中设置此约束来实现此目的

<security-constraint>
  <web-resource-collection>
    <web-resource-name >precluded methods</web-resource-name>
    <url-pattern >/repositoryFolder/*</url-pattern>
  </web-resource-collection>
  <auth-constraint/>
</security-constraint>
Run Code Online (Sandbox Code Playgroud)

也可以参考这个:

阻止访问静态内容文件夹