【发布时间】:2015-06-16 08:45:20
【问题描述】:
我为 geoIP 本地化编写了一个请求过滤器。它的工作方式是我请求外部服务进行本地化,然后将信息写入 JCR,写入缓存/存储的专用工作区。
在作者实例上这是可行的,但在公共实例上我经常收到 AccessDeniedException。我可能需要通过 JCR 进行身份验证,我也尝试过,使用 magnolia.properties 文件中的凭据:
magnolia.connection.jcr.userId = username
magnolia.connection.jcr.password = password
这个验证码:
Session session = MgnlContext.getJCRSession(WORKSPACE_IP_ADDRESSES);
session.impersonate(new SimpleCredentials("username", "password".toCharArray()));
我有 this xml 来引导过滤器和一个 FilterOrdering 任务,配置如下:
tasks.add(new FilterOrderingTask("geoIp", new String[] { "contentType", "login", "logout", "csrfSecurity",
"range", "cache", "virtualURI" }));
我错过了什么?
在公共实例上写入 Magnolia 中的 JCR 的正确方法是什么?
【问题讨论】: