配置Cookie使用情况 configuring-cookie-usage

CAUTION
AEM 6.4已结束扩展支持,本文档将不再更新。 有关更多详细信息,请参阅 技术支助期. 查找支持的版本 此处.

AEM提供了一项服务,可让您配置和控制如何在您的网页中使用cookie:

  • 可配置的服务器端服务维护可使用的Cookie列表。
  • Javascript API允许您的Javascript代码验证是否可以使用Cookie。

使用此功能可确保您的页面符合用户对Cookie使用情况的同意。

配置允许的Cookie configuring-allowed-cookies

配置AdobeGranite选择退出服务以指定如何在您的网页上使用Cookie。 下表介绍了可配置的属性。

要配置服务,您可以使用 Web控制台将OSGi配置添加到存储库. 下表介绍了任一方法所需的属性。 对于OSGi配置,服务PID为 com.adobe.granite.optout.

属性名称(Web 控制台)
OSGi 属性名称
描述
禁用Cookie
optout.cookies
Cookie的名称,当用户设备上存在时,该名称指示用户不同意使用Cookie。
选择禁用HTTP标头
optout.headers
表示用户未同意使用Cookie的HTTP标头的名称(如果存在)。
白名单Cookie
optout.whitelist.cookies
对网站运行至关重要,且未经用户同意即可使用的Cookie列表。

使用客户端Javascript调用AdobeGranite选择退出服务,以验证您是否可以使用Cookie。 使用Granite.OptOutUtil javascript对象执行以下任何任务:

  • 获取表示用户不同意将Cookie用于跟踪的Cookie名称列表。
  • 获取可使用的Cookie列表。
  • 确定Web浏览器是否包含指示用户不同意使用Cookie进行跟踪的Cookie。
  • 确定是否可以使用特定Cookie。

granite.utils 客户端库文件夹 提供Granite.OptOutUtil对象。 将以下代码添加到页眉JSP,以包含指向Javascript库的链接:

<ui:includeClientLib categories="granite.utils" />

例如,以下javascript函数确定是否允许在写入COOKIE_NAME Cookie之前使用该Cookie:

function writeCookie(value){
   if (!Granite.OptOutUtil.maySetCookie("COOKIE_NAME"))
      return;
   if (value) {
      value = encodeURIComponent(value);
      document.cookie = "COOKIE_NAME=" + value;
   }
}

Granite.OptOutUtil Javascript对象 the-granite-optoututil-javascript-object

Granite.OptOutUtil允许您确定是否允许使用Cookie。

getCookieNames()函数 getcookienames-function

返回Cookie的名称(如果存在),表示用户未同意使用Cookie。

参数

无.

返回结果

Cookie名称数组。

getWhitelistCookieNames()函数 getwhitelistcookienames-function

返回可在用户同意的情况下使用的Cookie的名称。

参数

无.

返回结果

Cookie名称数组。

isOptedOut()函数 isoptedout-function

确定用户的浏览器是否包含任何指示尚未同意使用Cookie的Cookie。

参数

无.

返回结果

布尔值 true 如果发现表示未同意的Cookie,则 false 如果没有cookie表示不同意。

maySetCookie(cookieName)函数 maysetcookie-cookiename-function

确定能否在用户的浏览器上使用特定的Cookie。 此函数等同于使用 isOptedOut 函数,同时确定给定Cookie是否包含在 getWhitelistCookieNames 函数返回。

参数

  • cookieName:字符串。 Cookie的名称。

返回结果

布尔值 true if cookieName 值,或 false if cookieName 无法使用。

recommendation-more-help
2315f3f5-cb4a-4530-9999-30c8319c520e