Как изменить путь cookie jsessionid к корневому каталогу сервера в приложении Spring на Jetty?
У меня на сервере Jetty работает приложение Spring на/app
контекст. Приложение использует сеансы, поэтому оно устанавливает файл cookie сеанса, который отвечает следующим образом:
set-cookie:JSESSIONID=679b6291-d1cc-47be-bbf6-7ec75214f4e5; Path=/app; HttpOnly
Мне нужен этот cookie, чтобы иметь путь/
вместо веб-приложенияс контекстом. Плюс я хочу использовать безопасные куки. Я хочу этот ответ:
set-cookie:JSESSIONID=679b6291-d1cc-47be-bbf6-7ec75214f4e5; Path=/; HttpOnly; Secure
Где находится правильное место для настройки файла cookie сеанса? Весна помогает с этим? Должно ли это быть вweb.xml
? Или мне нужно настроить его в зависимости от контейнера, например?jetty-web.xml
Я пробовал кучу вещей, но пока ничего не получалось. Ниже приведены некоторые вещи, которые я попробовал.
Попытка № 1созданныйWEB-INF/jetty-web.xml
со следующим:
MYJETTYSESSION
/
true
true
Это вызывает исключение:
2012-10-05 02:41:41.180:WARN:oejx.XmlConfiguration:Config error at / java.lang.NoSuchMethodException: class org.eclipse.jetty.server.session.HashSessionManager.setSessionPath(class java.lang.String)
2012-10-05 02:41:41.180:WARN:oejx.XmlConfiguration:Config error at MYJETTYSESSION/truetrue java.lang.NoSuchMethodException: class org.eclipse.jetty.server.session.HashSessionManager.setSessionPath(class java.lang.String)
2012-10-05 02:41:41.180:WARN:oejx.XmlConfiguration:Config error at MYJETTYSESSION/truetrue java.lang.NoSuchMethodException: class
Полная трассировка стека находится вэто суть.
Попытка № 2созданныйWEB-INF/jetty-web.xml
со следующим:
org.eclipse.jetty.servlet.SessionCookie
MYSESSIONID
org.eclipse.jetty.servlet.SessionIdPathParameterName
mysessionid
org.eclipse.jetty.servlet.SessionPath
/
Это не вызывает никаких исключений, но файл cookie все ещеJSESSIONID
и содержит путь к контексту веб-приложения./app
обновленныйWEB-INF/web.xml
со следующим:
org.eclipse.jetty.servlet.SessionPath
/
org.eclipse.jetty.servlet.SessionCookie
MYSESS
Это не вызывает никаких исключений, но файл cookie все ещеJSESSIONID
и содержит путь к контексту веб-приложения./app
обновленныйWEB-INF/web.xml
со следующим:
720
SZSESSION
/
true
true
Это не вызывает никаких исключений, но файл cookie все ещеJSESSIONID
и содержит путь к контексту веб-приложения./app
Обратите внимание, что яиспользуя плагин Jetty Maven версии 8.1.5.v20120716 и сделав:mvn jetty:run
8.1.5.v20120716
3.0.0.RELEASE
...
org.mortbay.jetty
jetty-maven-plugin
${jetty.maven.plugin.version}
10
manual
${jetty.stop.port}
foo
/app
...