首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在AEM中编程创建组描述[关于字段或aboutMe属性]?

如何在AEM中编程创建组描述[关于字段或aboutMe属性]?
EN

Stack Overflow用户
提问于 2016-09-23 14:10:47
回答 1查看 151关注 0票数 0

我写了一个java程序来在AEM中创建一个组。它工作得很好。但除了组之外,我还需要创建另一个组aboutMe属性。

我的代码:

代码语言:javascript
复制
ResourceResolver resourceResolver = resolverFactory.getAdministrativeResourceResolver(null);
session = resourceResolver.adaptTo(Session.class);
UserManager userManager = ((JackrabbitSession) session).getUserManager();
JackrabbitSession js = (JackrabbitSession) session;
Group group = null;
group = userManager.createGroup("TestGroup");
session.save();

有没有办法也添加aboutMe属性字段?

EN

回答 1

Stack Overflow用户

发布于 2016-09-23 16:26:26

您可以使用group.setProperty("jcr:description","your string")或任何属性。请参阅javadocs here

更新

将依赖项添加到com.adobe.granite.security.user项目pom中

注入

代码语言:javascript
复制
  @Reference
  private UserPropertiesService service;

获取UserProperties对象(资源是您的组的资源实例)-

代码语言:javascript
复制
if (this.service != null) {
        Authorizable authorizable = (Authorizable)resource.adaptTo(Authorizable.class);
        UserProperties userProperties;
        if (authorizable == null)
        {
          UserProperties userProperties = (UserProperties)resource.adaptTo(UserProperties.class);
          if (userProperties != null) {
            UserManager uMgr = (UserManager)resolver.adaptTo(UserManager.class);
            authorizable = uMgr.getAuthorizable(userProperties.getAuthorizableID());
          }

        }
        else
        {
          Session session = ((Node)resource.adaptTo(Node.class)).getSession();
          UserPropertiesManager mgr = this.service.createUserPropertiesManager(session, resolver);
          String propPath = request.getParameter("path");
          userProperties = mgr.getUserProperties(authorizable, propPath);
        }

获得UserProperties后,您可以将aboutMe信息添加到您的组中。

有关进一步的参考,请阅读this和javadoc here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39653726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档