acegi i wylogowanie po określonym czasie

0

Witam
Używam acegi i potrzebuje, żeby użytkownik został wylogowany po określonym czasie, niezależnie od tego czy używał przeglądarki czy nie. Może ktoś wie jak to zrobić przy użyciu acegi?
Pozdrawiam.

0

A nie mógłbyś dodać HttpSessionListener'a, i w momencie utworzenia sesji, uruchomić wątek, który po określonym czasie wykona sesssion.invalidate() ?

0

Albo wrzucić do sesji atrybut, datę ważności i za każdym razem sprawdzać, czy nie upłyną.

0

@ehm, nie w javie serwerowej. Tam nie można tworzyć własnych wątków.

Co do pytania jeżeli używasz Acegi w kontenerze serwletów np. Tomcat i całość oparta jest o sesję to można użyć bezpośrednio mechanizmu kontenera. W web.xml:

<web-app>
   <session-config>
      <session-timeout>15</session-timeout>
   </session-config>
</web-app>

Podobnie można zrobić z wykorzystaniem JAAS.

Kolejna metoda to własny filtr, który w sesji będzie trzymał czas startu. Opis:
http://www.jroller.com/hasant/date/20071106

0

Dzięki za odpowiedzi.
Niestety wersja z session-timeout nie jest dobra bo jeżeli po 14 minutach użytkownik kliknie na jakiegoś linka to czas jest liczony od nowa.
Sprawe rozwiązałem tak: dodałem logoutFilter w którym jest metoda requiresLogout. W tej metodzie sprawdzam czy użytkownik nie przekroczył już swojego czasu (czas zalogowania mam zapisany w bazie danych).
Pozdrawiam.

0

@koziolek - dlaczego w wesrji serwerowej Javy nie mozna tworzyc nowych watkow? to jest ograniczenie javy ee czy jakis good practice czy jeszcze cos innego?

pozdrawiam

0

@dlaczego, patrz specyfikacja ;) Założenie jest takie, że dla bezpieczeństwa danych zarządzaniem wątkami zajmuje się kontener. Dzięki temu zapewniona jest odpowiednia izolacja poszczególnych wątków i bezpieczeństwo danych. Nie wiem czy kontener nie rzuci wyjątkiem widząc nieautoryzowaną próbę stworzenia wątku...

0

@koziolek
hmm, u nas mamy aplikacje na tomcacie (czyli jest to kontener) i watki tworzone sa jak chcemy, zadnych wyjatkow, zadnych ograniczen, jednym slowem wolno to robic, przynajmniej w tomcacie. jestes pewien ze specyfikacja tego zabrania? gdzie to znalazles? i jakie bylyby przeslanki zeby tego nie robic?

nie pytam zlosliwie tylko naprawde mnie to zdziwilo i moze czegos nie wiem ale chetnie sie dowiem :-)

pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1