ASP.NET Core 3.1 _CookieConsentPartial.cshtml 接受 cookie

问题描述

用于在 ASP.NET Core 3.1 Web 应用程序中设置接受 cookie 的开箱即用 MVC 部分 (_CookieConsentPartial.cshtml) 在 Visual Studio 2019 中运行站点时工作正常,即我看到 cookie 被设置,然后不再随后查看cookie消息div容器。

将网站发布到 IIS 后,没有设置 cookie,因此在页面之间翻转时我收到了 cookie 警告。

部分 cshtml 文件和 startup.cs 未受影响,因此不知道为什么没有设置 cookie:

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

@if (showBanner)
{

....(div and cookie text omitted for brevity)


<script>
    (function () {
        var button = document.querySelector("#cookieConsent button[data-cookie-string]");
        button.addEventListener("click",function (event) {
            document.cookie = button.dataset.cookieString;
        },false);
    })();

谢谢

解决方法

快速更新我的进度以分享解决方案,以防其他人被此绊倒

发布到 IIS 的网站必须具有 SSL 绑定/在使用网站时必须强制使用 https://。

我安装了一个证书和设置重定向规则,嘿,presto.... 同意 Cookie 已创建!万岁!

干杯,

罗布