gpt4 book ai didi

java - tomcat 基本认证

转载 作者:行者123 更新时间:2023-11-28 23:18:25 26 4
gpt4 key购买 nike

我想通过以下方式保护个人 tomcat。

基本上每个人(每个ip)应该都可以访问这个tomcat的webapps。

但是一些 ip 应该能够在没有身份验证的情况下访问 tomcat(大多数),而一些(例如 10.0.0.*)应该只能通过身份验证访问这个 tomcat。

我已经阅读了很多关于如何解决这个问题的资料。 Tomcat 远程访问过滤器和远程主机名在我的情况下不起作用,因为我不想拒绝/允许某些 IP 地址的 webapp。

我试图将这些行添加到 context.xml 中,我(本地主机)可以在没有身份验证的情况下访问 tomcat,但仍然需要身份验证:

<Context antiJARLocking="true" path="/">
<Valve className="org.apache.catalina.valves.RemoteAddrValve" invalidAuthenticationWhenDeny="true" allow="127\.0\.0\.1"/>
<Valve className="org.apache.catalina.authenticator.BasicAuthenticator" />

所以我在我的知识末尾(也许我没有太多 :D)。

有人可以给我举个例子或解决我的问题吗?也许我需要编辑的不仅仅是这个文件?还是我误解了什么?

谢谢!

最佳答案

在tomcat中使用认证有两种方式。1. 如果您希望每个网络应用程序都不会被每个用户访问,您可以实现“领域配置”。使用此配置,每次用户访问 tomcat 中已部署的 Web 应用程序时,

它会询问用户名和密码。有关详细信息,请参阅以下链接: https://tomcat.apache.org/tomcat-7.0-doc/realm-howto.html

  1. 另一种情况是,如果您希望特定的 ip 用户能够通过远程过滤器访问 tomcat,您可以实现这一点。有关详细信息,请参阅以下链接: https://tomcat.apache.org/tomcat-7.0-doc/config/filter.html#Remote_Host_Filter

正如您所说“Tomcat 远程访问过滤器和远程主机名在我的情况下不起作用,因为我不想拒绝/允许某些 IP 地址的 Web 应用程序。”

在这种情况下,如果您不想为 IP 绑定(bind) Web 应用程序,则可以实现“领域配置”。这就是为什么您可以尝试使用带有用户名和密码的领域配置。

如果您仍想使用远程过滤器,请分享您正在执行的程序,以了解您失败的地方。

关于java - tomcat 基本认证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46728299/

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