Как проверить, недопустима ли сессия

Вы можете иметь свой собственный регистратор, когда вы получите исключение, вы можете написать в журнал событий. Вот небольшой пример.

 string cs = "YourIdentifier";

if (!EventLog.SourceExists(cs))
   EventLog.CreateEventSource(cs, "Application");    

EventLog.WriteEntry(cs, "YourMessage", EventLogEntryType.Error);
29
задан ROMANIA_engineer 7 December 2015 в 09:10
поделиться

3 ответа

Если Вы хотите знать ли это допустимый на основе запроса:

request.isRequestedSessionIdValid()

  or

HttpSession sess = request.getSession(false);
if (sess != null) {
   // it's valid
}

, Если Вы сохранили ссылку на сессию и должны проверить, я был бы

try {
  long sd = session.getCreationTime();
} catch (IllegalStateException ise) {
  // it's invalid
}
48
ответ дан John Wagenleitner 28 November 2019 в 01:27
поделиться

isNew() верно, только если эта сессия еще не была принята клиентом (т.е. она была просто создана, и JSESSIONID еще не был отправлен, или если она была отправлена, клиент не передавал ее обратно, таким образом, сервер не знает об этом и создал другую сессию)

5
ответ дан Peter Štibraný 28 November 2019 в 01:27
поделиться

Во всех отношениях, да. Однако это бросит IllegalStateException, если обращено сессия, делаемая недействительным в том же цикле ответа запроса.

3
ответ дан Chry Cheng 28 November 2019 в 01:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: