gpt4 book ai didi

aem - ResourceResolverFactory getServiceResourceResolver 在 AEM 6.1 中引发异常

转载 作者:行者123 更新时间:2023-12-03 12:45:25 25 4
gpt4 key购买 nike

我想向 AEM 写入一些数据,下面的代码在 AEM 6.0 中对我来说工作正常,但在 AEM 6.1 中却没有,总是抛出一个登录异常,如下所示:

“获取服务的 CRX 用户时登录异常:'writeService'.org.apache.sling.api.resource.LoginException:无法为包 group.tti.commons-service [395] 和子服务 writeService 派生用户名”

OSGI 配置:

enter image description here

我类的代码:

import javax.jcr.Session;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.ResourceResolverFactory;
....
@Reference
private ResourceResolverFactory factory;
private ResourceResolver resourceResolverWriter;
private static Session adminSession;
...
...
Map<String, Object> param = new HashMap<String, Object>();
param.put(ResourceResolverFactory.SUBSERVICE, "writeService");
try {
resourceResolverWriter = factory.getServiceResourceResolver(param);
adminSession = resourceResolverWriter.adaptTo(Session.class);
...
} catch (LoginException e) {
...
}

我在 AEM 6.1 上遗漏了什么吗?

最佳答案

在 AEM 6.1 中,服务用户必须是系统用户,这实际上意味着他们在 JCR 中的节点的类型为 rep:SystemUser。这些用户 不能 用于正常登录,只能由后台进程使用。管理员用户是 不是 系统用户,因此您不能在这样的服务用户映射中使用 admin 用户。您必须创建一个新的系统用户并为其分配适当的权限。

如果您想阅读有关此更改的更多背景信息,请查看 https://issues.apache.org/jira/browse/SLING-3854 .

关于aem - ResourceResolverFactory getServiceResourceResolver 在 AEM 6.1 中引发异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31350548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com