Продукт, над которым я работаю, получил жесткую проверку безопасности потенциальным клиентом, и они расстроены тем, что Tomcat устанавливает cookie JSESSIONID до того, как аутентификация произошла. То есть, Tomcat устанавливает этот файл cookie, когда загружается наша страница входа в Stateless, но перед входом в систему.
Они предлагают одно из следующих действий:
- выпустить новый файл cookie JSESSIONID после входа в систему.
- запретить установку файла cookie JSESSIONID в первую очередь на странице входа (т.е. до аутентификации)
Я просматривал все, что связано с JSESSIONID на этом сайте, и не могу найти легкого ответа. Я просто надеюсь на некоторые идеи. Мои лучшие решения для каждого:
- сразу после входа в систему, клонировать сеанс (минус id), копируя все атрибуты, аннулируя старый сеанс, создавая новый, копируя значения, связывая их с запросом и надеясь, что это работает.
- создать фильтр сервлета в самом конце цепочки, который удаляет cookie JSESSIONID перед загрузкой начальной страницы входа. И затем надеюсь, что запрос на вход будет выполнен без набора JSESSIONID.
Мне нужно немного поспать, но мы будем пытаться это утром. Было бы замечательно получить некоторые отзывы или лучшие предложения от людей гораздо умнее, чем я - как вы!
Независимо, я опубликую здесь свои результаты, потому что кажется, что многие другие люди хотели сделать что-то подобное.