Если вы создаете приложение для ограниченного числа пользователей (например, для внутренней сети компании) и не хотите, чтобы люди продолжали входить в систему в течение всего дня или чтобы они теряли вводимую информацию, сидя в течение продолжительных периодов времени. время, вы можете держать сеансы открытыми неопределенно долго только для людей, у которых браузер открыт для вашего сайта, не устанавливая тайм-аут сеанса, чтобы он не истек. Как только они закроют веб-сайт, сессия истечет как обычно.
Что вам нужно сделать, это добавить скрытый iframe где-нибудь на странице. Пусть iframe указывает на простой HTML-документ, обслуживаемый сервером приложений, в котором есть метатег, который обновляется каждые 29 минут (для сеанса, который заканчивается через 30 минут). Таким образом, пока у человека открыта ваша веб-страница, его сеанс не истечет. Однако, когда они уходят с вашего сайта, он истекает как обычно. Вы получаете неограниченную продолжительность сеанса без недостатков сеансов, которые выходят из-под контроля.
Я успешно развернул это решение в корпоративной среде на прежнем месте работы. Веб-приложение заменило старое приложение с зеленым экраном, и для них было неприемлемо идти на обед и, к примеру, истек срок действия приложения.
Дайте мне знать, если вам нужно больше примеров.