(GDPR) Asp.net 核心 ITrackingConsentFeature 不能与 cookie 一起正常工作

问题描述

我正在使用带有 TargetFramework net5.0 的 asp.net 核心 MVC。

我正在 ASP.NET Core 中实施欧盟通用数据保护条例 (GDPR) 支持

我完全实现了这篇文章 https://docs.microsoft.com/en-us/aspnet/core/security/gdpr?view=aspnetcore-3.1.

但是当我将 document.cookie 设置为 cookieString 时,什么也没有发生。

我发现这个问题与 cookieString 生成consentFeature?.CreateConsentCookie() 有关。

因为这里的分隔符是 ;,所以我将其更改为 .Replace(";",",")

它现在可以工作,但我遇到了过期日期时间的问题。它不再起作用了。它等于 浏览会话结束时

您有什么建议吗?

谢谢,

解决方法

最后,我找到了另一个答案。

想添加到document.cookie中时cookieString相关的问题

@{
    var consentFeature = Context.Features.Get<ITrackingConsentFeature>();
    var showBanner = !consentFeature?.CanTrack ?? false;
    var cookieString = consentFeature?.CreateConsentCookie();
}

我只是添加了一个 cookieString 作为字符串结尾的字符串。

document.cookie = `${button.dataset.cookieString}"`;

我不知道这是不是一个好方法,但它有效。