我正在研究 .Net Core 2.0 MVC Web 应用程序。需要操作身份验证 cookie 以根据用户角色设置过期时间跨度。在过期时间跨度后,如果没有活动,用户将退出应用程序。为此,我创建了一个过滤器,每次用户与站点交互时都会调用它。在该过滤器中,我基本上是读取 cookie 值,将其存储在临时变量中,删除现有 cookie,并将具有相同键和值的新 cookie 附加到响应中。
var cookieContent = Request.Cookie[key];
Response.Cookies.Delete(key);
Response.Cookies.Append(new cookie with same name and value);
Run Code Online (Sandbox Code Playgroud)
我能够创建一个具有所需过期时间的新 cookie,并且它工作正常。我的问题是,Response.Cookies.Delete(key);并没有真正删除 cookie。
Microsoft 文档说我们无法从用户的 PC 中删除 cookie。那么有没有办法从硬盘驱动器中删除cookie?如果不是,有什么作用Response.Cookies.Delete(cookie);?