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。
参数
无.
返回结果
布尔值 true
如果发现表示未同意的Cookie,则 false
如果没有cookie表示不同意。
确定能否在用户的浏览器上使用特定的Cookie。 此函数等同于使用 isOptedOut
函数,同时确定给定Cookie是否包含在 getWhitelistCookieNames
函数返回。
参数
返回结果
布尔值 true
if cookieName
值,或 false
if cookieName
无法使用。