springSecurity.denied.message in grails 2.2.2

时间:2013-09-26 11:20:50

标签: grails grails-2.0 grails-plugin

我正在为用户尝试不同的主页,具体取决于其角色

grails.plugins.springsecurity.successHandler.defaultTargetUrl = "/home"

 grails.plugins.springsecurity.securityConfigType="InterceptUrlMap"
 grails.plugins.springsecurity.interceptUrlMap=[
....
....
'/User/**':['ROLE_USER'],
'/home/**':['ROLE_ADMIN','ROLE_USER'],
....
....
]

我设置成功处理程序控制器“HomeController”

在那个i重定向角色明智的主页

import org.codehaus.groovy.grails.plugins.springsecurity.SpringSecurityUtils

class HomeController {
   def index() {

      if (SpringSecurityUtils.ifAllGranted('ROLE_ADMIN')) {
         redirect controller: '...', action: '...'
         return
      }
      if (SpringSecurityUtils.ifAllGranted('ROLE_USER')) {
         redirect controller: 'user', action: 'show'
         return
      }

   }

}

在此当我通过ADMIN Profile登录时,它会点击“HomeController”并重定向

但是当我尝试从用户个人资料登录时,它会给我一个错误 springSecurity.denied.message ...

2 个答案:

答案 0 :(得分:0)

问题似乎与您的重定向呼叫有关:

redirect controller: 'UserController'

应该是

redirect controller: 'user'

因为在这种情况下你遵循网址::8080/your-app/user/show

答案 1 :(得分:0)

'/user/**':['ROLE_USER'],

代替

'/User/**':['ROLE_USER'],