我正在开发一个 .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);
我可以创建一个具有所需到期时间的新 cookie,而且它可以正常工作。我在这里遇到的问题是,Response.Cookies.Delete(key);
不能真正删除 cookie。
Microsoft 文档 表明我们无法从用户的电脑上删除 cookie。那么有没有办法从硬盘中删除 cookie?如果没有,Response.Cookies.Delete(cookie);
的作用是什么?
_response.Cookies.Set(cookie);
Set() 扩展方法。 - Pirate