Wylogowanie / przekroczenie limitu czasu sesji z zabezpieczeniem sprężynowym

Używam spring / spring-security 3.1 i chcę podjąć pewne działania za każdym razem, gdy użytkownik się wyloguje (lub jeśli sesja przekroczyła limit czasu). Udało mi się wykonać akcję wylogowania, ale dla limitu czasu sesji nie mogę go uruchomić.

W web.xml mam tylko określony ContextLoaderListener (czy to może być problem?) I oczywiście DelegatingFilterProxy.

Używam takiej konfiguracji automatycznej.

    <security:http auto-config="false" use-expressions="false">
    <security:intercept-url pattern="/dialog/*"
        access="ROLE_USERS" />
    <security:intercept-url pattern="/boa/*"
        access="ROLE-USERS" />
    <security:intercept-url pattern="/*.html"
        access="ROLE-USERS" />

    <security:form-login login-page="/auth/login.html"
        default-target-url="/index.html" />
    <security:logout logout-url="/logout"
         invalidate-session="true"
        delete-cookies="JSESSIONID" success-handler-ref="logoutHandler" />
</security:http>

<bean id="logoutHandler" class="com.bla.bla.bla.LogoutHandler">
    <property name="logoutUrl" value="/auth/logout.html"/>
</bean>

Program obsługi wylogowania jest wywoływany, gdy użytkownik kliknie wylogowanie, co spowoduje wykonanie niektórych połączeń z bazą danych.

Ale jak poradzić sobie z limitem czasu sesji?

Jednym ze sposobów radzenia sobie z tym byłoby wstrzyknięcie nazwy użytkownika do sesji, gdy użytkownik się zaloguje, a następnie użyje zwykłego httpsessionlistenera i zrobi to samo podczas limitu czasu sesji.

Czy istnieje podobny sposób zabezpieczenia na wiosnę, że gdy wiosna odkryje, że sesja ma przekroczyć limit czasu, mogę się z nią połączyć, uzyskać dostęp do uwierzytelniania i pobrać stamtąd dane użytkownika i zrobić porządek.

questionAnswers(3)

yourAnswerToTheQuestion