gpt4 book ai didi

asp.net - 持久化用户 cookie

转载 作者:行者123 更新时间:2023-12-02 01:28:06 24 4
gpt4 key购买 nike

我想创建并保留 cookie 来存储一些用户信息——即他们的一些偏好、他们的头像等。我希望这些 cookie 保留在用户的计算机上直到它们被删除——无论是被用户还是我的应用.

我在我的 ASP.NET MVC 应用程序中使用 Facebook/Google 身份验证,所以我已经使用了 cookie,但它们会在用户结束他/她的 session 时过期。

做我想做的事情的正确方法是什么?我可以想到两种方法:

  1. 不要使 cookie 过期,而是更改其中的值以指示用户的 session 已过期。
  2. 创建另一个具有不同名称的 cookie,用于存储用户信息/偏好。

我想看看其他人是如何处理这个问题的。

最佳答案

您可以创建过期时间非常长的 cookie,但这不是在用户浏览器上存储持久用户信息的最佳方式。

比如cookie限制在4096字节,如果要存储图片(用户头像)就不能那么多了。此外,无论您是否要访问它们,Cookie 都会随着您的连接总是上下移动 -> 浪费带宽。

如果您正在开发强大的客户端应用程序,我可以谦虚地建议您使用本地存储吗?这种支持更普遍(http://caniuse.com/#search=localstorage),它会一直存在直到被移除,并且它不会因为 cookie 的所有问题而受到影响。

我建议您查看此 SO 答案 ( Local Storage vs Cookies ) 以了解有关 cookie 与本地存储的更多详细信息。

如果您需要一些本地存储使用示例,可​​以查看此链接 (https://developer.mozilla.org/en-US/docs/Web/API/Storage/LocalStorage)。例如:

   function setInfo(key, data) {
if (!window.localStorage) {
window.localStorage.setItem(key, data);
} else {
console.log('Local Storage: not supported');
}
}

关于asp.net - 持久化用户 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35906736/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com