Grails Spring安全核心插件重定向问题

时间:2013-06-24 19:06:39

标签: grails spring-security

我正在使用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,如果登录,将重新定向回用户/列表。

非常感谢任何帮助。

2 个答案:

答案 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语句。

相关问题