美文网首页
2020-10-13 AEM Workflow中获取Resour

2020-10-13 AEM Workflow中获取Resour

作者: tanbin_tech | 来源:发表于2020-10-13 12:11 被阅读0次

    一:通过访问的workflowSession获取

    ResourceResolver resourceResolver = workflowSession.adaptTo(ResourceResolver.class);
    

    二:通过系统中保存的账户获取

    1. localhost:<port>/crx/explorer=>User Administration=>Create System User创建一个用户
      创建用户
    2. 为用户配置目录访问权限


      配置权限
    3. 在 “Apache Sling Service User Mapper Service”中新增一个条目
      访问localhost:<port>/system/console/configMgr,搜索Apache Sling Service User Mapper Service
      新增条目
      新增条目的格式:<bundle名称>:<服务名>=<用户ID>, 服务名代码中会用到
    4. 通过工厂方式以新增的用户身份获取ResourceResolver
    Map<String, Object> param = new HashMap<String, Object>();
    // 服务名在这里用到
    param.put(ResourceResolverFactory.SUBSERVICE, “writeService”);
    ResourceResolver resolver = resolverFactory.getServiceResourceResolver(param);
    

    resolverFactory可直接通过reference注解引进来

    @Reference
    private ResourceResolverFactory resolverFactory;
    

    总结:

    第一种方式有局限性,如果登陆的用户没有某个目录的操作权限,那么就不能进行后续的操作。
    第二种是先建立有权限的用户,然后以这个用户进行获取Resolver,确保操作可顺利进行。

    相关文章

      网友评论

          本文标题:2020-10-13 AEM Workflow中获取Resour

          本文链接:https://www.haomeiwen.com/subject/xgcvpktx.html