У меня есть веб-приложение, которое размещено на https://example.com. Я хотел бы поделиться сессионным поваром ie между основным доменом https://example.com и поддоменом https://www.example.com. Таким образом, пользователю не нужно повторно входить в систему, если он переключается с одного домена на другой. Как мне добиться этого в Springboot 2.2.6?
Вот что я попробовал: Я зашел в application.properties и установил server.servlet.session.cook ie .domain = .example.com Теперь это не помогает. Я получаю сообщение об ошибке:
java.lang.IllegalArgumentException: An invalid domain [.example.com] was specified for this cookie
at org.apache.tomcat.util.http.Rfc6265CookieProcessor.validateDomain(Rfc6265CookieProcessor.java:210) ~[tomcat-embed-core-9.0.33.jar:9.0.33]
at org.apache.tomcat.util.http.Rfc6265CookieProcessor.generateHeader(Rfc6265CookieProcessor.java:145) ~[tomcat-embed-core-9.0.33.jar:9.0.33]
at org.apache.catalina.connector.Response.generateCookieString(Response.java:973) ~[tomcat-embed-core-9.0.33.jar:9.0.33]
Если я установлю server.servlet.session.cook ie .domain = example.com , то повар ie не будет отображаться для http://www.example.com и если я установлю server.servlet.session.cook ie .domain = www.example.com, то повар ie не будет отображаться для http://example.com
Я читал обсуждения о Rfc6265CookieProcessor и LegacyCookieProcessor, но я не знаю, как исправить эту проблему.
Springboot 2.2.6 использует версию 9.0 tomcat. *
Итак, как мне исправить эту проблему?
РЕДАКТИРОВАТЬ:
Я пробовал вышеуказанные изменения только на локальном хосте, а не на производстве. Вместо доступа к http://www.example.com я делал https://www.localhost, а вместо доступа к http://example.com я делал http://localhost