Я не могу найти, как получить ссылку на SessionRegistry Spring Security (V3) внутри действия struts.Как получить Spring Session SessionRegistry?
Я настроил слушателя внутри моего файла 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>
Как правило, я более удобен проводкой весенней фасоли, покупайте не уверен, как это раскрывается с использованием пространства имен. Каждый раз, когда действие выполняется, реестр сеанса имеет значение null.
Может ли кто-нибудь указать, что я делаю неправильно здесь, или показать мне путь к примеру?
Заранее благодарим за любые/все ответы!
спасибо за ссылку. Я добавил компонент sessionRegistry в мою конфигурацию Spring, и он больше не равен нулю в действии Struts. Однако, когда я пытаюсь получить # зарегистрированных пользователей (при входе в систему) значение sessionRegistry.getAllPrincipals(). Size(); всегда 0. Я читаю документы прямо? Похоже, что если я использую пользовательскую форму входа (которой я являюсь - аутентификация против LDAP), я не могу использовать управление сеансом namespace/auto config, указанное выше. Кажется, мне приходится вручную настраивать все управление сеансом и контроль параллелизма вручную? – Griff
Глядя на он-лайн документы, я не могу понять, что такое имя моего провайдера проверки подлинности для myAuthFilter. Я использую пространство имен, который не предоставляет идентификатор bean ... \t <поставщик аутентификации ref = 'ldapProvider' /> authentication-manager> –
Griff