ipRestrictions 在 Grails 3.3.10 中不起作用?

ipRestrictions not working in Grails 3.3.10?

我无法让 ipRestrictions 通过 springsecurity 工作。 我正在使用裸应用程序尝试隔离 Grails 3.3.10 和 spring-security-core 3.2.0.

的问题

最后我想将对 Web 服务的访问限制在有限的子网中。但是为了让它发挥作用,我只是想找到任何会被拒绝的案例。

我正在使用股票创建应用程序,但我已将以下内容添加到 build.gradle 以引入 spring-security:

    compile 'org.grails.plugins:spring-security-core:3.2.0'

我的application.groovy配置是:

grails.plugin.springsecurity.rejectIfNoRule = false
grails.plugin.springsecurity.fii.rejectPublicInvocations = false
grails.plugin.springsecurity.ipRestrictions = [
    [pattern: '/**', access: '172.16.0.1']
]

我期待看到类似 401 Unauthorized 或 403 Forbidden 的信息。

IP Address Restrictions 不适用于来自 localhost 的请求。这是为了 "help" 本地开发,但随后会使测试您的限制变得更加困难。文档第 18 节底部有一个措辞混乱的注释,应该以 "All patterns can always be accessed from localhost regardless of IP address":

开头

All addresses can always be accessed from localhost regardless of IP pattern, primarily to support local development mode.