我想将xml文件上传到AEM DAM。 xml文件是我使用InputStream读取的sitemap.xml。但是我该如何编写ResourceResolver? ResourceResolver resourceResolver = resolverFactory.getAdministrativeResourceResolver(null)
现已弃用。我正在关注本教程,但面临资源解析器问题。什么是正确的语法?
答案 0 :(得分:2)
您现在可以使用resourceFactory.getServiceResourceResolver(paramMap)
的{{1}}方法。
org.apache.sling.api.resource.ResourceResolverFactory
另外,在ResourceResolver resourceResolver = null;
try {
Map<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put(ResourceResolverFactory.SUBSERVICE, "writeService");
resourceResolver = resourceFactory.getServiceResourceResolver(paramMap);
} catch (LoginException e) {
log.error("Login Exception : " + e);
}
中的Felix config manager中将您的子服务配置为
Apache Sling Service User Mapper Service
您还需要使用CRX Explorer创建系统用户,然后点击用户管理并授予相关路径的权限。
答案 1 :(得分:1)
出于安全原因,不推荐使用方法resolverFactory.getAdministrativeResourceResolver()。这为您提供了一个没有任何权限检查的管理会话。
它由resolverFactory.getServiceResourceResolver()替换。这为您提供了与预配置用户的正常会话。要进行配置,请转至管理控制台(例如http://localhost:4502/system/console/configMgr)并查找 Apache Sling Service用户映射器服务的设置。
对于你的tuturial来说,只需将admin用户作为服务用户使用。
另请参阅此文档的Adobe文档:https://helpx.adobe.com/experience-manager/6-3/sites/administering/using/security-service-users.html