Spring 以太网和 WiFi 之间的安全 IP 地址问题

Spring Security IP Address issues between Ethernet and WiFi

我正在使用 Spring 安全开发 Spring 引导微服务。

作为 HTTP 安全的一部分,我正在使用“hasIpAddress”选项:

http.csrf().disable();
http
.authorizeRequests()
.antMatchers("/**")
.hasIpAddress(env.getProperty("gateway.ip"))
.and()
.addFilter(getAuthenticationFilter());

当我在笔记本电脑上开发时,我使用的是 WiFi 连接,例如我的 IP 地址是 192.168.1.15。在应用程序属性中,我将网关的 IP 地址设置为此工作正常。

当我通过以太网电缆连接到网络时,我的 IP 地址是 192.168.1.24。所以,我希望在属性文件中使用这个 IP 地址。这不起作用,调试显示它正在尝试匹配 127.0.0.1 的环回地址。为什么?

我不确定 OS 您使用的是什么,但可能是当您连接到以太网时,配置脚本与 wifi 不同。

一个简单的测试是仅连接到 wifi,然后从您的终端 ping 本地主机,然后查看解析的地址。然后,用以太网做同样的实验。

Localhost 应始终为 127.0.0.1,但可以在连接 wifi 时在网络配置期间更改。

如果您使用Mac或Linux,您可以在连接到wifi后检查/etc/resolv.conf文件。在 windows 中,我认为您必须查看 DNS 设置,但我不确定,不是 windows 人。