gpt4 book ai didi

c# - IsPersistent 在 OWIN Cookie 身份验证中的工作原理

转载 作者:IT王子 更新时间:2023-10-29 04:03:21 26 4
gpt4 key购买 nike

我好像不太明白OWIN cookie认证中的IsPersistent是如何工作的,下面的代码是使用IsPersistent:

var context = Request.GetOwinContext();
var authManager = context.Authentication;
var properties = new AuthenticationProperties { IsPersistent = isPersistence };

authManager.SignIn(properties, identity);

当用户选中/取消选中 Remember me(后面使用 IsPersistent)时,我看不出有什么不同,因为如果我关闭 Chrome 浏览器并再次打开它以配合网站,cookie .AspNet.ApplicationCookie 仍然存在,即使我选中或取消选中 Remember me,它也能让我进入。

我已经检查了 linkIsPersistent 的定义:

Gets or sets whether the authentication session is persisted across multiple requests.

但由于我看到它仍然有效,所以没有太多理解。

设置 OWIN cookie 身份验证的代码:

app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationMode = AuthenticationMode.Active,
AuthenticationType = ApplicationTypes.ApplicationCookie,
ExpireTimeSpan = TimeSpan.FromMinutes(30),
LoginPath = new PathString("/Account/LogOn")
});

最佳答案

持久性 cookie 将作为文件保存在浏览器文件夹中,直到它们过期或被手动删除。即使您关闭浏览器,这也会导致 cookie 持续存在。

如果 IsPersistent 设置为 false,浏览器将获取 session cookie,该 cookie 在浏览器关闭时被清除。

现在重新启动浏览器后 session cookie 不会清除的原因是因为 chrome 默认设置。要修复它,请转到 chrome 设置 -> 高级,然后取消选中 System Google Chrome 关闭时继续运行后台应用 em> 部分。

关于c# - IsPersistent 在 OWIN Cookie 身份验证中的工作原理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31946582/

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