Как может я препятствовать тому, чтобы пружинная безопасность добавила; jsessionid=XXX для входа в систему перенаправлений?

Когда неаутентифицируемый клиент запрашивает URL, который требует неанонимного уровня доступа, как определено в security-config.xml, пружинная безопасность отправляет перенаправление HTTP в нашу страницу входа в систему (например. /login). Это прекрасно.

Проблема - то, которые отсутствуют существующая сессия (определенный cookie, обеспеченным в запросе клиента), пружинные проблемы безопасности перенаправление, которое также определяет новую сессию клиента в URL, например. /login;jsessionid=8o7pglapojus.

Много контейнеров поддерживают это (по-видимому, это хорошо работает у кота?), но кажется, что Причал (который является тем, что мы используем прямо сейчас) не делает - перенаправленный URL прибывает до нашего абсолютно неповрежденного маршрутизатора URL (включая jsessionid "параметр"), и именованная сессия не связан с /login запрос jetty/spring-security (т.е. полностью новый идентификатор сессии обеспечивается в заголовке Cookie Набора ответа на /login запрос).

Мы можем работать вокруг этого путем соответствия /login.* в наших маршрутах, но мне любопытно, если существует какой-либо способ предотвратить эмиссию идентификатора сессии в перенаправлении аутентификации для начала.

31
задан cemerick 18 February 2010 в 18:44
поделиться

2 ответа

В Spring Security 3.0.0 M1 или новее вы можете установить disable-url-rewriting = "true" в пространство имен. Посмотрим, поможет ли это. Также см. Этот запрос функции .

43
ответ дан 27 November 2019 в 22:21
поделиться

Здесь есть другое решение (для тех, у кого Spring Security, то есть я сам)

http://randomcoder.com/articles/jsessionid-considered-harmful

Создает оболочку фильтра сервлета и управляет этим.

0
ответ дан 27 November 2019 в 22:21
поделиться
Другие вопросы по тегам:

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