代码之家  ›  专栏  ›  技术社区  ›  Sasuke Uchiha

在java spring tomcat上设置会话cookie属性“Domain”

  •  3
  • Sasuke Uchiha  · 技术社区  · 10 年前

    如何在tomcat服务器上为我的spring项目设置会话cookie属性“Domain”?我正在使用spring安全和HTTPS 目前我有以下内容:

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

    但我想要这个

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

    我已经尝试在网页中添加域属性。带有cookie配置的xml。 我尝试过使用spring session[CookieHttpSessionStrategy],但这行不通。

    有类似TomcatContextCustomizer的东西,但它不起作用(实际上我可能在配置它时犯了一些错误)

    如果在本地主机上运行,我应该设置什么域?

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

    以上哪一项是正确的?

    1 回复  |  直到 10 年前
        1
  •  1
  •   Ralph    10 年前

    您可以使用tomcat配置属性: sessionCookieDomain

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

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

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

    @请参见 Tomcat configuration documentation