Sesja użytkownika

0

Mam takie pytanie czysto teoretyczne :> .
Mamy dwie proste strony internetowe (jee, servlety i takie tam może też być WebWork ;)) teraz jakiś użytkownik klika na jednej stronie na przycisk, po wykonaniu akcji następuje przekierowanie na drugą stronę. Teraz wykonywanie akcji może trwać długo (w tym czasie z reguły widać pasek postępu wykonywanej akcji, strona się przeładowuje, chyba mogę to tak nazwać) nawet bardzo długo (jakieś zapytanie po bazie danych lub coś innego np. pętla). I pytanie jest takie czy podczas wykonywania akcje może zakończyć się sesja użytkownika a jeżeli tak to czy jest jakiś sposób by ją podtrzymywać.
Nie koniecznie muszę być zalogowany chodzi mi o sam fakt wykonywania takiej akcji (no chyba, że są jakieś znaczące różnice gdy mamy do czynienia z zalogowanym użytkownikiem). Wiem, że w deskryptorze można ustawić długość sesji ale nie wiem czy wykonywanie takiej operacji jest traktowane jako "działanie użytkownika".
Zrobiłem mały eksperyment ustawiłem czas sesji na

<session-config> <session-timeout>1</session-timeout> </session-config>

i w trakcie wykonywania akcji zapuściłem pętle i nic się nie stało (pętla wykonywała się ponad 3 min aż za biłem proces ;)). Jeżeli już bym miał do czynienia z taką sytuacją to zapewne ustawił bym sesję na -1
"-1 = Sessions do not timeout.". Więc jak jest z tą sesją czy może się skończyć czy nie?

0

session-timeout nie jest czasem trwania sesji, ale z czasem po jakim sesja wygasa. Sesja wygaśnie jeżeli użytkownik nie będzie aktywny. Użytkownik nie jest aktywny jeżeli nie są wykonywane żadne operacje z wykorzystaniem jego JSESSIONID. Wniosek dla przedstawionego przypadku. Sesja nie wygasa ponieważ użytkownik jest cały czas aktywny, wykonywana jest pętla, i nie ma powodu by kończyć sesję. Zamiast użerać się z sesją na serwerze pobaw się np. Acegi Security. Jest to taka mała i miła biblioteka służąca do zarządzania logowaniem, sesjami i uprawnieniami użytkowników. Odpadną ci wtedy dylematy co i jak działa :)

0

Tak tylko ale wiem co to ACEGI robiłem już w tym projekty ;D, a to było pytanie które kiedyś ktoś mi zadał
i nie chodziło mi tu o to czy użytkownik jest zalogowany czy nie chodziło mi tylko o tą sesje. Po prostu ktoś kiedyś zadał Mi takie pytanie i nie chciało mi się wierzyć, że sesja może wygasnąć skoro jest wykonywana akcja (nie byłem do końca pewny) teraz już jestem (a poza tym jest już trochę późno i nie mogę myśleć .). Dzięki.

0

Przeczytałem jeszcze raz to co napisałeś i kurcze dobrze to opisałeś (przecież to takie oczywiste) chyba rzeczywiście już nie potrafię myśleć -.- arrrrr.

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