1

我正在为 Grails 使用“Spring Security Core Plugin”,并在我的 Config.groovy 文件中使用一个简单的映射来限制基于身份验证类型的访问。

例如,我想阻止用户进入“用户/创建”页面,因为显然你不希望人们在登录时能够创建其他用户(我现在忽略了 manager/mods将能够具有此功能)。为了实现这一点,我有

grails.plugins.springsecurity.interceptUrlMap = [
    '/user/create':  ['IS_AUTHENTICATED_ANONYMOUSLY']
 ]

唯一的问题是,它的行为似乎是这样的:

redirect uri: SpringSecurityUtils.securityConfig.successHandler.defaultTargetUrl

我希望它重定向到它之前所在的页面

即用户/列表,尝试从用户控制器调用操作创建,如果登录,将重定向回用户/列表。

任何帮助是极大的赞赏。

4

2 回答 2

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
  ...
}
于 2013-06-24T19:45:51.557 回答
0

还将“IS_AUTHENTICATED_ANONYMOUSLY”更改为“permitAll”。并使用 if 语句。

于 2014-01-06T21:00:45.813 回答