2010-06-28 6 views
0

Je suis en train de migrer vers le plugin de sécurité de printemps du plugin acegi. Actuellement, je travaille sur l'environnement de grails. Je suis confronté à un problème étrange car mon événement de réussite d'authentification et l'authentification des mauvais identifiants ne jettent pas du tout. J'ai ajouté des instructions println dans le rappel dans config.groovy et aussi via les écouteurs. Cependant, je peux attraper des événements comme InteractiveAuthenticationSuccessEvent. S'il vous plaît faire réponse si vous avez passé par la même questionPlugin de sécurité de printemps ne lançant pas d'événements

Répondre

1

Comme mentionné au chapitre 5 du user guide vous devez activer les événements avec « useSecurityEventListener » et configurer une ou plusieurs fermetures de rappel, par exemple:

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

Hey, j'ai essayé de faire tout cela, mais le problème est de ces événements n'a jamais été invoqué à tous. J'ai été en mesure de recevoir uniquement surInteractiveAuthenticationSuccessEvent. Je suis passé par le code source de printemps et là dans la classe AbstractAuthenticationProcessingFilter ils jettent juste le onInteractiveAuthenticationSuccessEvent sur l'authentification réussie, sur l'échec d'authentification ils appellent juste le gestionnaire d'échec. Dois-je ajouter des gestionnaires au lieu d'écouter des événements? ou dois-je injecter des gestionnaires de fournisseur? Je n'ai ajouté aucun gestionnaire de fournisseur pensant que le plugin pour grails le ferait pour moi :( – prabha

+0

Hmmm, on dirait que les choses ont changé entre Spring Security 2 et 3. S'il vous plaît créer un problème à http://jira.codehaus.org/ Parcourir/GRAILSPLUGINS sous le composant Grails-Spring-Security-Core et je verrai ce que je peux faire pour la prochaine version –

+0

Hey, merci pour le suivi.Nous avons enregistré un bug que vous avez dit http: //jira.codehaus .org/browse/GRAILSPLUGINS-2248 – prabha

0

Le Le gestionnaire de fournisseur utilise par défaut l'éditeur d'événements Null. Nous pouvons injecter l'éditeur d'événement d'authentification par défaut dans resources.groovy.

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

Questions connexes