Когда клиент входит в систему, вы задаете ему флаг сеанса, например notexpired, и устанавливаете его равным 1.
Затем вы пишете веб-модуль, который при каждом запросе http проверяет, если notexired = 1. Еслиэта проверка выдает исключение или равна 0, вы можете отказать в доступе или перенаправить на страницу ошибки.
или вы можете возобновить сеанс из базы данных, если вы сохраните сеансы в базе данных.
Кстати, это также работает с обработчиками AJAX, в отличие от хаков классов базовой страницы.