gpt4 book ai didi

javascript - 即使在浏览器关闭/重新启动后使用 Angular.js 使 cookie 持久化

转载 作者:行者123 更新时间:2023-11-30 10:22:19 35 4
gpt4 key购买 nike

我在我的项目中使用 Angular,但遇到了身份验证问题。身份验证成功后,用户从服务器检索 token ,只要用户拥有此 token ,他就可以访问他需要身份验证的所有地方(我认为这是最好的方法,因为我使用 MVC Web API 作为后端,但我没有 session )。一切正常,直到我关闭我的浏览器,然后重新启动它 $cookieStore 和 $cookies 在重新启动后为空。

有没有人知道如何使 cookie 持久化,或者有更聪明的方法吗?

我创建了一个带有测试 View 的测试 Controller ,其中我有 2 个按钮,它们在重新启动之前设置和加载 $cookie 它可以工作,如果我打开一个新窗口而另一个窗口仍在运行,但我会尽快关闭所有内容下来, cookies 是空的。

    $scope.Set = function () {

$scope.LoadedData = "test";
$cookies.myFavorite = 'oatmeal';

}


$scope.Load = function () {

var b = $cookies.myFavorite;
console.log("testasdasd" + $cookies);

$scope.LoadedData = $cookies.myFavorite;

}

最佳答案

有两种类型的 cookie: session cookie 和持久性 cookie。

  • session cookie 在内存中,只有在您关闭浏览器后才会存在。
  • 持久性 cookie 将保存到磁盘中,并将根据 Expires 属性过期。

将 cookie 保存为 session 或持久的决定是服务器端,而不是您的客户端 javascript。

当您使用 .NET Forms 身份验证时,您可以使用 FormsAuthentication.GetAuthCookie 创建一个 cookie,第二个参数决定这是一个 session 还是一个持久性 cookie。

关于javascript - 即使在浏览器关闭/重新启动后使用 Angular.js 使 cookie 持久化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21045977/

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