javascript - 同一浏览器中不同用户的 Cookie

标签 javascript tomcat cookies browser

网站页面上有一些下拉菜单(用户只有通过身份验证才能访问此页面),我想将此值保存到 cookie 中,并在用户返回时将其设置回下拉菜单我的网站。

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

那么,从同一浏览器中分离不同用户的 cookie 的好方法是什么?我正在考虑创建名称如“username-dropdown”的 cookie,但我怀疑这是最好的解决方案。

我在 Tomcat 8 中使用 Java。

最佳答案

我在这里猜测您不需要在每个 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,所以这些浏览器目前确实非常过时了。

关于javascript - 同一浏览器中不同用户的 Cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28252998/

相关文章:

javascript - google-oauth 登录后 node.js/express/passport 挂起

javascript - Vue路由器返回上一个父路由

javascript - Swiper 的 "imagesReady"事件未触发

javascript - NightmareJs goto 评估后

tomcat - 每个页面的多个有状态 iframe 将覆盖 JSESSIONID?

spring-boot - 如何在 cpanel 上托管 Spring Boot 应用程序?

tomcat - Tomcat 库和每个 Webapp 中的 log4j

java - 使用 jsoup 获取链接并将其重定向到最后带有 ?token= 的链接

javascript - 如何在基于网络的移动应用程序中访问用户的电话簿?

c# - cookie 检查不起作用