在grails'中禁用用户身份验证;spring安全核心插件

在grails'中禁用用户身份验证;spring安全核心插件,grails,spring-security,Grails,Spring Security,我希望为我在Grails上编写的小型服务添加一些安全性:IP限制、强制HTTPS以及稍后的其他内容 因此,我添加了spring安全核心依赖项 compile 'org.grails.plugins:spring-security-core:2.0-RC4' 为了我的身材,格雷德尔和类似的东西 grails.plugin.springsecurity.secureChannel.definition = ['/**': 'REQUIRES_SECURE_CHANNEL'] grails.plug

我希望为我在Grails上编写的小型服务添加一些安全性:IP限制、强制HTTPS以及稍后的其他内容

因此,我添加了spring安全核心依赖项

compile 'org.grails.plugins:spring-security-core:2.0-RC4'
为了我的身材,格雷德尔和类似的东西

grails.plugin.springsecurity.secureChannel.definition = ['/**': 'REQUIRES_SECURE_CHANNEL']
grails.plugin.springsecurity.ipRestrictions = ['/**': ['127.0.0.1', '%MY-OFFICE-IP-HERE%']]
到我的Config.groovy


服务非常简单,它只有两个以JSON格式返回一些数据的控制器。但SpringSecurityCore插件默认添加了用户身份验证:登录页面、注销拦截器、拒绝访问处理程序等等。我现在不需要这样的功能,我想禁用它。我该怎么做呢?

只需将此添加到Config.groovy for development环境中即可:

grails.plugin.springsecurity.active = false

所以你的意思是你只想要IP限制,而不是角色,保护你的控制器/方法或你的应用程序的任何实际安全,因为它在DMZ中

那么你不需要Spring安全性,只需要实现这样的东西


在筛选器中检测IP,如果它与配置中可接受的IP不匹配,则拒绝它

谢谢您的回答。但是你的解决方案似乎禁用了整个spring安全核心插件,包括ip限制和安全通道定义。抱歉@user24809,我误解了你的问题。由于要禁用身份验证系统,因此当某些用户试图访问IP之外时,您真正想要的是什么?很简单:如果IP from
请求,则返回403 HTTP状态代码。不允许remoteAddr
(不在指定的地址/掩码列表中)。现在我使用的是普通的Grails过滤器,但我想用SpringSecurityCore来实现。我已经完成了,但这是一个临时解决方案。看来在不久的将来,该服务将需要x509身份验证,所以我不得不使用spring security core。是的,那么你想实现spring security。你要求有蛋糕吃,但你也需要实现角色和安全。这就是为什么SpringSecurityCore是一个非常棒的一体化解决方案。