gpt4 book ai didi

tomcat - 如何允许访问某些计算机?

转载 作者:行者123 更新时间:2023-11-28 21:50:10 25 4
gpt4 key购买 nike

有什么方法可以根据 computer name 提供访问权限。如何在 configuration 中指定此条件?

此外,是否有任何方法可以根据用户 ID(环境变量)授予访问权限。我曾经使用 VBA 来做到这一点。但是,由于这是微软的原生产品,我不得不简单地指定 environ 。 tomcat 呢?

我读了这个article但不是很明白。我想我需要使用 Remote Address Filter 但我需要一个示例代码。

最佳答案

首先,基于 DNS 主机名的过滤请求是“昂贵的”。它强制 tomcat 进行反向 DNS 查找。当请求出现时,它不带有 DNS 名称,而只是客户端的 IP 地址。因此 tomcat 必须向系统询问与客户端 IP 地址对应的名称(或多个名称)。

如果你想接受来自特定主机名的请求,你可能已经知道与主机名对应的IP地址(或IP地址范围)。如果是这样,那么您可以使用 Remote Address Filter 为其设置所需的值(IP 地址)。

第二点,使用 Remote Address Filter 提供了两个属性的灵 active ,allowdeny

示例:

注意:此处使用的 IP 地址仅作为示例。

假设有一个主机名 myhostname,IP 地址范围为 134.87.13.0 - 134.87.13.255。您只想允许此范围并拒绝所有其他范围。您将为此范围执行 DNS 查找。说如果你发现它是 164.32.90.100

然后您可以将您的 Valve 配置为:

 <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="164\.32\.90\.100, 134\.87\.13\.\d{1,3}" />

现在假设在该范围内,您想要拒绝一个子范围 134.87.13.51 - 134.87.13.60

然后您可以将您的 Valve 配置为:

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="164\.32\.90\.100, 134\.87\.13\.\d{1,3}" deny="134\.87\.13\.(5[1-9]|60)" />

可以使用正则表达式为 allowdeny 配置动态值。

这些细节是否可以帮助您解决问题。

已编辑

最后一点,如果您允许/拒绝 IP 地址范围,则不得拒绝来自“localhost”的请求。因此,将 127\.0\.0\.1 添加到您的允许范围。

关于tomcat - 如何允许访问某些计算机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21925204/

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