2013-06-24 82 views
1

我對Grails使用「Spring Security Core Plugin」,並在Config.groovy文件中使用簡單的地圖來限制基於身份驗證類型的訪問。Grails Spring Security Core插件重定向問題

例如,我想阻止用戶進入「用戶/創建」頁面,因爲顯然你不希望人們在登錄時能夠創建其他用戶(我現在忽略管理員/ mods可以擁有這個功能)。爲了accomlish這一點,我有

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

唯一的問題是,它似乎像個動作:

redirect uri: SpringSecurityUtils.securityConfig.successHandler.defaultTargetUrl 

我希望它重定向到它以前在雖然頁面。

即用戶/列表,嘗試從用戶控制器調用操作創建,如果已登錄,將重定向回用戶/列表。

任何幫助非常感謝。

+0

如果你不想**匿名用戶訪問'/ user/create'頁面,你是不是想要在'interceptUrlMap'中使用用戶角色或者'IS_AUTHENTICATED_FULLY'? – elias

+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 
    ... 
} 
0

而且改變 'IS_AUTHENTICATED_ANONYMOUSLY' 到 'permitAll'。並使用if語句。

相關問題