我正在尝试使用域设置一个简单的 cookie,但它似乎没有被添加到浏览器的 cookie 存储中。
这是我添加cookie的方式
response().setCookie("clientauthtoken", "asdasd", 5000, "/test", "test.com", false, false);
如果我检查 cookie 管理器(Firefox 管理 cookie 的插件),它不会显示我添加的 cookie。
如果我 checkin session ,是的,它就在那里
for (play.mvc.Http.Cookie cockie: response().cookies()) {
Logger.info(" name " + cockie.name());
Logger.info(" value " + cockie.value());
Logger.info(" domain " + cockie.domain());
}
只有在我添加域 (test.com) 时才会发生这种情况。如果我将域设置为 null 或空字符串并尝试再次添加 cookie,那么它会同时显示浏览器的 cookie 存储和 session 中。那么我在这里缺少什么?或者是否无法添加带有域的 cookie。
谢谢。
最佳答案
如果您添加带有域的 cookie,则无法在浏览到 localhost
时对其进行测试。为了测试它,您需要做的是编辑操作系统的 hosts
设置(对于 linux 和 OS X,它是 /etc/hosts
)并添加:
127.0.0.1 test.com
然后你可以通过http://test.com:9000
关于java - Play Framework : Why the cookie isn't showing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23730695/