Grails Spring Security 核心插件
Posted
技术标签:
【中文标题】Grails Spring Security 核心插件【英文标题】:Grails Spring Security Core Plugin 【发布时间】:2012-05-24 15:34:55 【问题描述】:我(终于)将我的 Acegi 插件升级到 Spring Security Core。同时,我正在从 Grails 1.3.7 升级到 2.0。我的网站以前功能齐全,但现在当我尝试访问我的默认页面(即IS_AUTHENTICATED_ANONYMOUSLY
)时,我被重定向到我的LoginController
的auth
操作。这个方法从来没有被 Acegi 调用过,所以我不知道问题是什么。是我的配置设置错误还是我需要考虑其他问题?
grails.plugins.springsecurity.securityConfigType = SecurityConfigType.InterceptUrlMap
grails.plugins.springsecurity.interceptUrlMap = [
'/blog/**':['IS_AUTHENTICATED_ANONYMOUSLY'],
'/static/**':['IS_AUTHENTICATED_ANONYMOUSLY'],
'/consensus/**':['IS_AUTHENTICATED_FULLY'],
'/login/**':['IS_AUTHENTICATED_ANONYMOUSLY'],
'/signup/**':['IS_AUTHENTICATED_ANONYMOUSLY'],
'/home/**':['IS_AUTHENTICATED_FULLY'],
'/test/**':['ROLE_ADMIN'],
'/admin/**':['ROLE_ADMIN'],
'/adminmanage/**':['ROLE_ADMIN'],
'/quartz/**':['ROLE_ADMIN'],
'/**/*.css':['IS_AUTHENTICATED_ANONYMOUSLY'],
'/js/**':['IS_AUTHENTICATED_ANONYMOUSLY'],
'/images/**':['IS_AUTHENTICATED_ANONYMOUSLY'],
'/monitoring**':['ROLE_ADMIN'],
'/**':['IS_AUTHENTICATED_FULLY']
]
我的 UrlMappings.groovy 是:
class UrlMappings
static mappings =
"/"(controller:"x", action:"y")
"/z/?"(controller:"x", action:"y")
"/$controller/$action?/$id?"
constraints
// apply constraints here
"500"(view: '/error')
我一直在阅读文档,但遇到了一些问题,所以我不确定是否需要查看更多相关代码。如果有,请告诉我,我会添加它。谢谢。
【问题讨论】:
我很确定'/**':['IS_AUTHENTICATED_FULLY']
是导致它的原因,我非常记得在场规则如何适用于配置映射的处理方式(我使用控制器注释)。尝试删除该行以查看您是否可以访问您的主页。如果可以的话,你需要弄清楚如何不让它发生冲突。祝你好运!
@Oliv 谢谢 - 删除最后一个帮助我调试。
【参考方案1】:
删除 openid 插件后,所有请求都将我重定向到登录页面!我不知道该怎么办...我已经删除了所有相关内容。
【讨论】:
【参考方案2】:我的Config.groovy
中的其他选项不正确,这导致了问题。一旦我纠正了它们,一切都很好。
尽管在文档中提到了它,但我的安全字段没有以grails.plugins.springsecurity
开头,这导致引擎无法识别它们,由于某种原因导致调用auth
。
【讨论】:
您能否编辑详细说明问题所在?如果文档中有不清楚的地方或者可能有用的东西放在那里,很高兴知道。 (或者,如果其他人遇到这个问题并最终通过谷歌来到这里,却发现你解决了这个问题而没有别的;)) @Oliver - 这个问题对我来说似乎真的很具体,否则我会这样做。不过我还是会做的——谢谢你的帮助。以上是关于Grails Spring Security 核心插件的主要内容,如果未能解决你的问题,请参考以下文章
访问被拒绝并获取 抱歉,在 grails 中将插件 Spring Security 核心升级到 2.0 版本后,您无权查看此页面
带有 Spring Security 核心和 CORS 插件的 grails REST API 不适用于 OPTIONS http 方法请求
ClassNotFoundException: SimpleGrantedAuthority - Grails 2.4.2 和 Spring Security
使用 grails spring security core 插件保护 URL 映射