我正在使用Grails的“Spring Security Core Plugin”,并在Config.groovy文件中使用一个简单的地图来限制基于身份验证类型的访问。
例如,我想阻止用户访问“用户/创建”页面,因为显然你不希望人们在登录时能够创建其他用户(我现在忽略了经理/ mods将能够具有此功能)。为了实现这个目标,我有
grails.plugins.springsecurity.interceptUrlMap = [
'/user/create': ['IS_AUTHENTICATED_ANONYMOUSLY']
]
唯一的问题是,它似乎就像行动一样:
redirect uri: SpringSecurityUtils.securityConfig.successHandler.defaultTargetUrl
我希望重定向到之前的页面。
即。 user / list,尝试从用户控制器调用action create,如果登录,将重新定向回用户/列表。
非常感谢任何帮助。
答案 0 :(得分:1)
我可能错了,但我不认为你可以使用['IS_AUTHENTICATED_ANONYMOUSLY']
做你想做的事情,因为每个文档都不会限制登录用户
令牌接受任何身份验证,即使是匿名身份。
为什么不放一些像
这样的东西//in user controller
def create() {
if(springSecurityService.currentUser) {
//let them know they're already logged in
flash.message = message(code: 'your.....message')
redirect(action: "list")
}
//else take them to create form
...
}
答案 1 :(得分:0)
同时将'IS_AUTHENTICATED_ANONYMOUSLY'更改为'permitAll'。并使用if语句。