如何在http cookie上正确设置域和路径?

时间:2019-03-17 10:42:24

标签: spring-boot http cookies

我有一个由nginx提供ssl(https)的网站。因此,http://example.com被nginx重定向到https://example.com。动态应用程序是Spring Boot Java应用程序,包含在具有嵌入式tomcat的自执行jar中。

对于每个唯一访问者,我都需要设置cookie来记住用户设置,以便他们在用户重新访问网站时与网站进行交互。这是创建新Cookie的Java代码:

Cookie cookie = new Cookie("_my_token", unique_token);
            cookie.setHttpOnly(true);
            // 10 year expiry
            cookie.setMaxAge(60 * 60 * 24 * 365 * 10);
            cookie.setPath("/");
            if(this.activeProfile.equals("prod")) {
                cookie.setSecure(true);
            }
            response.addCookie(cookie);

但是上述问题是来自example.com和www.example.com的同一位访问者会生成两个不同的Cookie。可能还有其他问题,因为我尚未完全测试。

我需要在Cookie上设置什么路径和域,以便来自www.example.com,example.com,foo.example.com,example.com / bar,example.com / bar /的同一位访问者foo或www.example.com/foo等可以被同一Cookie识别吗?该解决方案应适用于所有常见的浏览器类型,例如Chrome,IE,Firefox等。

0 个答案:

没有答案