设置会话cookie属性"域"在java-spring-tomcat上

时间:2016-01-15 10:09:54

标签: java spring spring-mvc tomcat cookies

如何设置会话cookie属性" Domain"我在tomcat服务器上的spring项目?我使用的是spring security和HTTPS 目前我有以下内容:

Set-Cookie: JSESSIONCookie: JSESSIONID=DEAC4422AB4E28A7062C08724C8BCFAA; Path=/myapp/; Secure; HttpOnly.

但我想要这个

Set-Cookie: JSESSIONCookie: JSESSIONID=DEAC4422AB4E28A7062C08724C8BCFAA; Path=/myapp/; Secure; Domain=.localhost; HttpOnly.

我尝试使用cookie-config将domain属性放在web.xml中。 我尝试过使用spring session [CookieHttpSessionStrategy],但这不起作用。

有一些像TomcatContextCustomizer,但这不起作用[实际上我可能在配置它时犯了一些错误]

另外如果在localhost上运行我应该设置哪个域?

obj.setDomain("localhost");//or
obj.setDomain(".localhost");//or
obj.setDomain("127.0.0.1");

以上哪一项是正确的?

1 个答案:

答案 0 :(得分:1)

您可以使用tomcat配置attribte:sessionCookieDomain

  

用于为此上下文创建的所有会话cookie的域。如果设置,则覆盖Web应用程序设置的任何域。如果未设置,将使用Web应用程序指定的值(如果有)。

<context  sessionCookiePath="/myapp/" sessionCookieDomain=".localhost">
...
</context>

在全局配置config/context.xml或特定于应用程序的上下文文件中。

@See Tomcat configuration documentation