AEM提供了一项服务,可让您配置和控制如何在您的网页中使用cookie:
使用此功能可确保您的页面符合用户对Cookie使用情况的同意。
配置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对象执行以下任何任务:
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允许您确定是否允许使用Cookie。
返回Cookie的名称(如果存在),表示用户未同意使用Cookie。
参数
无.
返回结果
Cookie名称数组。
返回可在用户同意的情况下使用的Cookie的名称。
参数
无.
返回结果
Cookie名称数组。
确定用户的浏览器是否包含任何指示尚未同意使用Cookie的Cookie。
参数
无.
返回结果
如果找到指示未同意的Cookie,则为true
布尔值;如果没有Cookie指示未同意,则为false
值。
确定能否在用户的浏览器上使用特定的Cookie。 此函数等同于使用isOptedOut
函数并结合确定给定Cookie是否包含在getWhitelistCookieNames
函数返回的列表中。
参数
返回结果
如果可以使用cookieName
,则为true
布尔值;如果不能使用cookieName
,则为false
值。