Мне интересно, если ServletResponse.reset()
является дополнительным шагом, который мне нужно заблокировать пользователям, не входящим в систему, от доступа к сервлетам, или если есть риски или недостатки.Является ли ServletResponse.reset() жизнеспособным способом блокировать доступ неавторизованных (выведенных из системы) пользователей к сервлетам?
фона:
Путь my website работы, изначально пользователи могут видеть только определенные страницы после того, как они создать учетную запись и войти в систему с этими учетными данными. Первоначально проблема заключалась в том, что, хотя я использовал session.invalidate()
, когда пользователь вышел из системы, они могли повторно отправить запрос (например, через кнопку «Назад») и смогли получить доступ к ограниченному содержимому из несанкционированного состояния. Если предположить, что сеанс истек, как указано выше, я не уверен, как это возможно или что можно сделать, чтобы предотвратить его.
Благодаря экспериментам, как решить эту проблему, я попытался ServletResponse.reset()
, и что казалось решить ее, но я не понимаю, почему это работает, и, следовательно, я не уверен, что он является надежным жизнеспособным решением.
Мои конкретные вопросы:
сбрасывает буфер ответа (включая заголовок и HTTP код статуса) безопасной или рекомендуемой практики, или есть лучший способ сделать это?
Как я могу управлять входом в систему с объектом сеанса, а не с использованием файла cookie сеанса?