2013-09-26 60 views
0

我將嘗試不同的主頁,用戶根據其角色springSecurity.denied.message Grails的2.2.2

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

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

我設定成功處理程序控制器「的HomeController」

在我重定向角色明智的主頁

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 
     } 

    } 

}

在這個當我通過管理員配置它登錄點擊「HomeController中」和重定向,以及

但是當我試圖從用戶登錄簡介它給了我一個錯誤springSecurity.denied.message ...

+0

確保你的用戶有ROLE_USER並訪問重定向的動作。如果您評論interceptUrlMap並且它有效,那可能是一個角色問題。 –

+0

但在我的代碼中,當我通過管理員登錄時,它的命中主控制器... –

+0

我更新了我的問題,請檢查它 –

回答

0

這個問題似乎與您轉接呼叫:

redirect controller: 'UserController' 

應該

redirect controller: 'user' 

因爲在這種情況下,你按照網址convension::8080/your-app/user/show

+0

我寫的用戶...但它仍然給出了同樣的錯誤..但仍然沒有打到家控制器.. –

+0

你的用戶有ROLE_USER嗎? –

+0

是的......我的用戶有一個角色ROLE_USER –

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

代替

'/User/**':['ROLE_USER'], 
相關問題