gpt4 book ai didi

java - Tomcat6 中的基本身份验证不适用于目录

转载 作者:行者123 更新时间:2023-11-28 22:40:05 25 4
gpt4 key购买 nike

我的 tomcat web 目录中有以下结构

/webapps/ROOT.war
/webapps/ROOT/
/webapps/protect/

在我的 ROOT.war java 应用程序中的 web.xml 中,我已经为 ROOT 应用程序的一些页面配置了基本身份验证,这些页面按预期正常工作。

但我需要将相同的规则应用于不属于该 ROOT 应用程序的目录“protect”。我将这些规则添加到 ROOT 应用程序内部的 web.xml 和/opt/tomcat/conf/中的 web.xml 文件中,但是目录“protect”仍然可以在没有身份验证的情况下访问。有什么想法吗?

这是适用于 ROOT 路径但不适用于保护路径的安全配置:

<security-constraint>
<web-resource-collection>
<web-resource-name>Some paths need authentication</web-resource-name>
<url-pattern>/rest/*</url-pattern>
<url-pattern>/protect/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>authenticatedUser</role-name>
</auth-constraint>

<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>

<login-config>
<auth-method>BASIC</auth-method>
</login-config>

最佳答案

url-pattern 是相对于当前 webapp 的根目录而不是主机应用程序的。因此,在“保护”的 web.xml 中,您必须将 URL 模式更改为“/*”。

如果 web-resource-name 在所有网络应用程序中都相同,则浏览器应在用户输入密码后自动将密码重新发送到所有网络应用程序。

关于java - Tomcat6 中的基本身份验证不适用于目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44624261/

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