Obter todos os usuários registrados no Spring Security

Gostaria de obter uma lista de todos os usuários que estão atualmente registrados no meu aplicativo. Eu sei que devo injetarSessionRegistry no meu código para ligargetAllPrincipals() método. Infelizmente, eu sempre fico com uma lista vazia. Parece queSessionRegistry não é popular e eu não sei como fazer isso. Eu sei, que no StackOverflow existem perguntas parecidas, mas ainda tenho problema em resolver meu problema. Em primeiro lugar, adiciono ao meu web.xml este código:

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

Como eu sei, permite obter informações sobre o ciclo de vida (criar, destruir) de sessões. E isso é tudo. Eu tenho um grande problema em seguir em frente. Meu arquivo com beans de segurança é apresentado abaixo:

<beans:bean id="successAuth" class="pl.fp.microblog.auth.SuccessAuth"/>
<beans:bean id="failureAuth" class="pl.fp.microblog.auth.FailureAuth"/>

<http auto-config="true">
    <intercept-url pattern="/" access="ROLE_USER" />
    <intercept-url pattern="/profile/*" access="ROLE_USER" />
    <form-login 
        login-page="/login"         
        authentication-success-handler-ref="successAuth"
        authentication-failure-handler-ref="failureAuth"
        username-parameter="username"
        password-parameter="password"           
        login-processing-url="/login_processing_url"
    />          
    <security:logout logout-url="/logout_processing_url"/>  
    <session-management>
        <concurrency-control max-sessions="1" session-registry-alias="sessionRegistry"/>
    </session-management>
</http>

<beans:bean id="saltProvider" class="org.springframework.security.authentication.dao.ReflectionSaltSource">
    <beans:property name="userPropertyToUse" value="username"></beans:property>
</beans:bean>

<beans:bean id="userService" class="pl.fp.microblog.auth.UserService">
    <beans:property name="userDAO" ref="userDAO"/>
</beans:bean>

<authentication-manager>
    <security:authentication-provider user-service-ref="userService">
        <password-encoder hash="sha-256">
            <security:salt-source ref="saltProvider"/>
        </password-encoder>         
    </security:authentication-provider>
</authentication-manager>

Aqui eu chamo o método getAllPrinciples ():

@Transactional
@Controller
public class SiteController {
    @Autowired
    private UserDAO userDAO;
    @Autowired
    private SessionRegistry sessionRegistry;    

    @RequestMapping(value = "profile/{login}")  
    public String profilePage(@PathVariable String login, HttpServletRequest req) throws SQLException {     
        ...
        sessionRegistry.getAllPrincipals().size()
        ...     
        return "profile";               
    }
}

Eu tentei adicionarsession-managemenent código no meuhttp, ConcurrentSessionFilter e coisas semelhantes, mas na verdade eu não entendo isso. E a documentação é muito complexa para mim. Alguém poderia me ajudar e dizer passo a passo o que fazer a seguir? Quais beans devo adicionar?

questionAnswers(1)

yourAnswerToTheQuestion