设置 Sitecore DMS Global cookie 的过期时间

Set expiration of Sitecore DMS Global cookie

我目前正在开发 Sitecore 7.2 解决方案,客户问我们是否可以更改全局分析 cookie 的到期时间 "SC_ANALYTICS_GLOBAL_COOKIE"。我们可以看到它持续了 10 年,这很奇怪,因为 Sitecore 文档说明它应该是一年。

除了 10 年 vs 1 年,我一直在寻找答案,但没有找到任何答案。我还执行了一项 config/decompile 任务,但尚未找到保存 cookie 的行。

所以我的主要问题是:是否可以调整全局 cookie 的保留时间?

任何能够详细说明文档(1 年)与现实(10 年)之间的差异以及为什么使用这看似疯狂的 10 年的人的奖励。

Sitecore 全球分析 cookie 由 VisitorKeyCookie class.

保存

Expires 值硬编码为:

httpCookie.Expires = 
    this.IsInvalid 
    ? DateTime.UtcNow.AddDays(-1.0) 
    : DateTime.UtcNow.AddYears(10);

所以答案是No。您无法更改此 10 年的值。

此 cookie 的目的是能够识别使用特定浏览器的访问者,无论他们是在一周、一个月、一年还是 5 年后回来。我想这就是为什么将 cookie 有效期设置为 10 年的原因。

为什么它与文档不一致是另一个问题 ;) 您应该向 Sitecore 提及这一点。

如果有人来寻找有关 Sitecore 9+ 的信息,您现在可以通过补丁文件配置 cookie 的到期时间。

Analytics cookie lifetime

File: c:\path\to\sitecore\root\App_Config\Sitecore\Marketing.Tracking\Sitecore.Analytics.Tracking.config

Determines the lifetime of the tracking cookie (SC_ANALYTICS_GLOBAL_COOKIE) in hours. The default value is 87600 hours (10 years).

<setting name="Analytics.CookieLifetime" value="87600" />

来自文档:https://doc.sitecore.net/developers/xp/tracking-and-session/tracker/configuration.html#analytics-cookie-lifetime