AEM提供的服务允许您配置和控制Cookie在网页中的使用方式:
使用此功能可确保您的页面符合用户对cookie使用的同意。
配置AdobeGranite退出服务,以指定如何在您的网页上使用cookie。 下表介绍了可配置的属性。
要配置服务,可使用Web控制台或向存储库添加OSGi配置。 下表描述了任何一种方法所需的属性。 对于OSGi配置,服务PID为com.adobe.granite.optout
。
属性名称(Web控制台) | OSGi属性名称 | 描述 |
---|---|---|
选择退出Cookie | optout.cookies | Cookie的名称,当在用户设备上显示时,它指示用户未同意使用Cookie。 |
退出HTTP头 | optout.headers | HTTP头的名称,当存在时,它指示用户未同意使用cookie。 |
白列表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之前是否允许使用它:
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
。