Comment puis-je obtenir le Ressort de Sécurité SessionRegistry?

Je n'arrive pas à trouver comment faire pour obtenir une référence à la source de Sécurité (V3) SessionRegistry à l'intérieur d'une action struts.

J'ai configuré le port d'écoute à l'intérieur de mon web.xml fichier:

    <listener>
    <listener-class>org.springframework.security.web.session.HttpSessionEventPublisher</listener-class>
</listener>

Et j'ai essayé d'utiliser le @Autocâblés annotation mettre en une action:

@Autowired
private SessionRegistry sessionRegistry;

@Override
public String execute() throws Exception {
    numberOfUsersLoggedin= sessionRegistry.getAllPrincipals().size();
    return SUCCESS;

}


public SessionRegistry getSessionRegistry() {
    return sessionRegistry;
}

public void setSessionRegistry(SessionRegistry sessionRegistry) {
    this.sessionRegistry = sessionRegistry;
}

La configuration http ressemble à ceci:

    <session-management invalid-session-url="/public/login.do?login_error=expired"
        session-authentication-error-url="/public/login.do" 
        session-fixation-protection="newSession">
        <concurrency-control max-sessions="1" error-if-maximum-exceeded="true"/>
    </session-management>    

En général, je suis plus à l'aise câblage du printemps bean moi-même, acheter pas sûr de savoir comment ce est exposé à l'aide de l'espace de noms. Chaque fois que l'action s'exécute, la session de registre a la valeur null.

Quelqu'un peut-il point de ce que je fais de mal ici, ou me montrer un exemple?

Merci d'avance pour toutes les réponses!

OriginalL'auteur Griff | 2010-10-07