2012-06-14 3 views
0

У меня есть плагин Spring Security, который работает по большей части в Grails 2.0.4. Если я перейду на страницу «localhost: 8080/dashboard», я перенаправлен на экран входа в систему. Когда я успешно вхожу в систему, я перенаправляется на «/ dashboard».Grails 2 Spring Security Plugin - перенаправление на/login/denied после успешного входа в систему

Проблема, с которой я столкнулась, - это просто перейти к «localhost: 8080 /» без добавления контроллера в URL. Если я это сделаю, то независимо от того, успешно ли я зарегистрирован, я перенаправлен на «/ login/denied». Если я тогда на этом этапе попытаюсь перейти на «/ dashboard», он будет работать, так как я успешно зарегистрированный пользователь.

Мой вопрос в том, как изменить экран по умолчанию, на который я перенаправлен после входа в систему. Вот что я пробовал. Пожалуйста, дайте мне знать, если что-то мне не хватает. Кажется, что все работает, за исключением фактического перенаправления.

Пробовал изменения в URLMappings.groovy

static mappings = { 
    "/"(controller: "dashboard") 
} 

Пробовал изменения в Config.groovy:

grails.plugins.springsecurity.successHandler.defaultTargetUrl = '/dashboard' 
grails.plugins.springsecurity.securityConfigType = SecurityConfigType.InterceptUrlMap 
grails.plugins.springsecurity.interceptUrlMap = [ 
    '/dashboard/**': ["IS_AUTHENTICATED_FULLY"], 

    '/js/**': ["IS_AUTHENTICATED_ANONYMOUSLY"], 
    '/css/**': ["IS_AUTHENTICATED_ANONYMOUSLY"], 
    '/images/**': ["IS_AUTHENTICATED_ANONYMOUSLY"], 
    '/login/**': ["IS_AUTHENTICATED_ANONYMOUSLY"], 
    '/logout/**': ["IS_AUTHENTICATED_ANONYMOUSLY"] 
] 

Ни один из этих исправили проблему я объяснил выше. Любая помощь приветствуется.

Спасибо, Джаред

ответ

2

Ответ был добавить еще одну запись в моей interceptUrlMap:

grails.plugins.springsecurity.interceptUrlMap = [ 
    '/**': ["IS_AUTHENTICATED_FULLY"] 
] 

Это позволяет пользователю добраться до «/» отображения в URLMappings и, следовательно, быть направлены на " /панель приборов'. Без этого сопоставления нет правила для '/', и мы блокируем это по умолчанию, поэтому нет возможности получить перенаправление URL-адресов.

+0

Правильно будет '/ **': ["IS_AUTHENTICATED_FULLY"] – jenk

Смежные вопросы