我有一个Spring Boot应用程序,想将其部署到wildfly12。我想要实现的是为JSESSIONID cookie设置自定义路径。但是毕竟,我的努力没有任何结果。
我尝试在我的application.properties文件中使用此属性:
server.servlet.session.cookie.path=/
当我运行带有嵌入式tomcat的应用程序时,一切正常。但是,当我将应用程序部署到wildfly时,无论该属性的值如何,它始终会将cookie路径设置为应用程序的“上下文路径”。
我也尝试过使用此属性:
server.servlet.context-path=/
但到目前为止没有成功!
standalone.xml文件中也包含以下标记:
<session-cookie http-only="true" secure="true"/>
但是它似乎与cookie路径无关,因为它没有任何与此相关的属性。
答案 0 :(得分:0)
您正在执行的配置是针对Spring Boot应用程序的嵌入式服务器的。
应用程序属性中存在嵌入式服务器设置(可以检查here部分#EMBEDDED SERVER CONFIGURATION 和名称空间server.servlet.session.cookie。*)。
要修改外部服务器上与cookie相关的配置,必须创建CookieSerializer
bean,该bean可用于自定义cookie配置。例如
@Bean
public CookieSerializer cookieSerializer() {
DefaultCookieSerializer serializer = new DefaultCookieSerializer();
serializer.setCookieName("JSESSIONID");
serializer.setCookiePath("/");
serializer.setDomainNamePattern("^.+?\\.(\\w+\\.[a-z]+)$");
return serializer;
}
您可以参考spring guide以获得更多信息。