我们如何在Groovy脚本AEM中使用管理员credentails创建resolverFactory和resourceResolver?

问题描述 投票:0回答:1

[我正在尝试为AEM 6.5的14.0.0 groovy版本编写一个groovy脚本,以在使用工作区的路径发布下复制节点

def resolverFactory = osgi.getService(ResourceResolverFactory.class);       
def resourceResolver = getServiceResolver("admin",resolverFactory);
def session = resourceResolver.adaptTo(Session.class);
srcPath = "/abc/def"
desPath = "/tyu/amg/tpo"
Workspace workspace = session.getWorkspace();
workspace.copy(srcPath,desPath);

但是resolverFactory本身的代码抛出错误

如何进行设置,以便可以在AEM的groovy脚本中将所有节点从srcPath复制到desPath?

java groovy aem
1个回答
0
投票

我认为,在Groovy控制台中使用内置的admin帐户不是一个好主意。即使对于捆绑代码,通常也要依靠具有明确定义的,针对特定服务应做的工作的最小权限集的服务用户。

我发现在Groovy控制台中,依靠用户执行脚本是最安全的。用户需要某种级别的访问权限才能看到控制台本身。人们还会期望这样的用户看到内容树的重要部分,但这与admin帐户的功能相去甚远。

在用于开发的AEM实例上将脚本作为admin执行可能是可以接受的,但是即使那样,我还是希望有人只使用admin凭据登录,而不是以编程方式获取它们。

获得与当前用户的会话相关联的资源解析器很简单,通常不会引起问题。如果有您不能使用它的原因,我建议您配置服务用户。

© www.soinside.com 2019 - 2024. All rights reserved.