Мне не удается найти ссылку на SessionRegistry Spring Security (V3) внутри действия Struts.
Я настроил прослушиватель внутри моего файла web.xml:
<listener>
<listener-class>org.springframework.security.web.session.HttpSessionEventPublisher</listener-class>
</listener>
И я пытался использовать аннотацию @Autowired, чтобы привести ее в действие:
@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;
}
Конфигурация http выглядит следующим образом:
<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>
Обычно мне удобнее подключать пружинный компонент, но я не уверен, что это можно сделать с помощью пространства имен.Каждый раз, когда выполняется действие, реестр сеанса обнуляется.
Может кто-нибудь указать на то, что я здесь делаю неправильно, или показать мне пример?
Заранее благодарим за любые / все ответы!