一个浏览器中的不同用户的Cookie

时间:2015-01-31 15:01:07

标签: javascript tomcat cookies browser

网站页面上有一些下拉(用户只有在经过身份验证后才能访问此页面)我希望将此值保存到Cookie并在用户返回时将其设置为下拉列表我的网站。

将当前选定的下拉选项值保存到cookie并稍后检索它不是问题。但是如果我在另一个用户的同一个浏览器上登录,我就遇到了一些问题。它从cookie值获得前一个用户保存的内容。

那么将不同用户的Cookie与同一浏览器分开的好方法是什么?我正在考虑使用'username-dropdown'之类的名称创建cookie,但我怀疑它是最好的解决方案。

我在Tomcat 8中使用Java。

1 个答案:

答案 0 :(得分:1)

我在这里猜测,您需要将这些信息发送到您的服务器,并提供每个HTTP请求;你只需要存储客户端的信息(你可以根据需要通过ajax将它发送到服务器)。

如果是这样,我会使用本地存储,而不是cookie。当然,使用用户名或用户ID或其他一些是合理的:

// Setting:
localStorage.setItem(username + "-dropdown", value);

// Getting:
var value = localstorage.getItem(username + "-dropdown");

或者您可以使用括号表示法:

// Setting:
localStorage[username + "-dropdown"] = value;

// Getting:
var value = localstorage[username + "-dropdown"];

几乎不使用括号表示法的唯一原因是,如果您需要在旧版浏览器上填充本地存储(有可以回退到Cookie的填充程序),但本地存储是supported on all modern browsers,还有IE8 ,所以这些浏览器此时非常过时了。