Per*_*syl 8 cookies asp.net-core-mvc
在.Net Core MVC项目中:我正在尝试在我的控制器操作中以最简单的方式设置一个简单的cookie,但不能让它持久化并显示在浏览器中.
我的代码:
public IActionResult IndexPost()
{
var option = new CookieOptions();
option.Expires = DateTime.Now.AddMinutes(60);
Response.Cookies.Append(cookieName, "SomeCookieValue", option);
return View();
}
Run Code Online (Sandbox Code Playgroud)
但是在浏览器(Chrome)中,我无法看到它,甚至无法阅读:
var cookieValue = Request.Cookies[cookieName];
Run Code Online (Sandbox Code Playgroud)
(cookieName是一个带有cookie名称的变量集)
如果使用Chrome扩展程序"EditThisCookie",我可以手动设置它以确保Request.Cookies [cookieName]实际工作,所以错误在我的代码的附加cookie中以某种方式.
Sig*_*gge 23
从ASP.NET Core 2.1开始,模板包含您CookiePolicyOptions在Startup.cs中的GDPR兼容配置,即:
services.Configure<CookiePolicyOptions>(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
Run Code Online (Sandbox Code Playgroud)
未经用户明确许可,该CheckConsentNeeded选项true将阻止将任何非必要的cookie发送到浏览器(无Set-Cookie标头).
您可以通过在创建IsEssential属性true时将属性设置为更改此行为,或将Cookie标记为必需:
var options = new CookieOptions
{
Expires = DateTime.Now.AddMinutes(60),
IsEssential = true
};
Response.Cookies.Append("rudeCookie", "I don't need no user to tell me it's ok.", options);
Run Code Online (Sandbox Code Playgroud)
在这里阅读更多内容:https://docs.microsoft.com/en-us/aspnet/core/security/gdpr?view = aspnetcore-2.1
| 归档时间: |
|
| 查看次数: |
4083 次 |
| 最近记录: |