grails - ipRestrictions 在 Grails 3.3.10 中不起作用?
问题描述
我无法通过 springsecurity 让 ipRestrictions 工作。我正在使用一个裸应用程序来尝试隔离 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 地址限制不适用于来自localhost
. 这是为了“帮助”本地开发,但随后会使测试您的限制更加困难。在文档第 18 节的底部有一个措辞令人困惑的注释,它应该以“无论 IP 地址如何,始终可以从 localhost 访问所有模式”:
无论 IP 模式如何,始终可以从 localhost 访问所有地址,主要是为了支持本地开发模式。
推荐阅读
- dart - Flutter - 列中的空间均匀不按预期工作
- firebase - 网址未定义。重构为新版本的 angularfire, angular
- spring - Spring Cloud Contracts 和 Spring Security 问题
- sql-server - SQL Server query - how to calculate cumulative column X
- android - How can view index/position within RecyclerView be retrieved within OnClickListener?
- c# - AspNetCore Could not load type 'Swashbuckle.AspNetCore.SwaggerGen.SwaggerResponseAttribute'
- azure - Stream Analytics Job deployed as Azure Resource Manager (ARM) template
- css - 带有背景图片的时事通讯
- powershell - 已创建 Powershell 电子邮件通知文件
- android - LIBGDX - 身体掉落并在 Android 上缓慢运行,但在桌面上却没有