2010-06-28 3 views
0

Я в процессе перехода к плагину безопасности весны из плагина acegi. В настоящее время работает над окружением Грааля. Я столкнулся с какой-то странной проблемой, поскольку мое успешное событие аутентификации и аутентификация недействительных учетных данных вообще не бросаются. Я добавил инструкции println в обратном вызове в config.groovy, а также через прослушиватели. Однако я могу захватывать такие события, как InteractiveAuthenticationSuccessEvent. Пожалуйста, ответ, если вы прошли через тот же вопросВесенний плагин безопасности не бросает события

ответ

1

Как уже упоминалось в главе 5 user guide вам нужно включить события с «useSecurityEventListener» и настроить один или несколько обратных вызовов затворов, например:

grails.plugins.springsecurity.useSecurityEventListener = true 

grails.plugins.springsecurity.onInteractiveAuthenticationSuccessEvent = { e, appCtx -> 
    println "onInteractiveAuthenticationSuccessEvent: $e" 
} 

grails.plugins.springsecurity.onAbstractAuthenticationFailureEvent = { e, appCtx -> 
    println "onAbstractAuthenticationFailureEvent: $e" 
} 

grails.plugins.springsecurity.onAuthenticationSuccessEvent = { e, appCtx -> 
    println "onAuthenticationSuccessEvent: $e" 
} 

grails.plugins.springsecurity.onAuthenticationSwitchUserEvent = { e, appCtx -> 
    println "onAuthenticationSwitchUserEvent: $e" 
} 
+0

Эй, я пытался делать все это, но проблема была в эти события никогда не вызываются вовсе. Мне удалось получить только onInteractiveAuthenticationSuccessEvent. Я прошел через исходный исходный код весны и там, в классе AbstractAuthenticationProcessingFilter, они просто бросают onInteractiveAuthenticationSuccessEvent на успешную аутентификацию, при неудаче аутентификации они просто вызывают обработчик ошибок. Нужно ли добавлять обработчики вместо прослушивания событий? или мне нужно внедрить менеджеров провайдеров? Я не добавил ни одного менеджера провайдера, думая, что плагин для grails сделает это для меня :( – prabha

+0

Хм, похоже, что все изменилось между Spring Security 2 и 3. Пожалуйста, создайте проблему на http://jira.codehaus.org/ browse/GRAILSPLUGINS под компонентом Grails-Spring-Security-Core, и я увижу, что я могу сделать для следующей версии. –

+0

Эй, спасибо за продолжение. Мы зарегистрировали ошибку, как вы сказали http: //jira.codehaus .org/browse/GRAILSPLUGINS-2248 – prabha

0

В Поставщик-менеджер по умолчанию использует редактор событий Null. Мы можем ввести издателя событий аутентификации по умолчанию в resources.groovy.

defaultEventPublisher(DefaultAuthenticationEventPublisher) /** authenticationManager */ authenticationManager(ProviderManager) { authenticationEventPublisher = ref('defaultEventPublisher') providers = listOfProviders }

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