如何使用jackrabbit获取java或jsp中的CQ5 userInfo

时间:2014-03-21 03:18:45

标签: cq5 jackrabbit aem

如何在java或jsp中使用org.apache.jackrabbit.api.security.user名称和组信息来获取CQ5 userInfo?

1 个答案:

答案 0 :(得分:10)

在JSP / Java中,您可以将资源调整为UserManager类,并根据您的要求获取当前用户或列出所有用户和组。

    Session session = resourceResolver.adaptTo(Session.class);
    UserManager userManager = resourceResolver.adaptTo(UserManager.class);
    /* to get the current user */
    Authorizable auth = userManager.getAuthorizable(session.getUserID());
    /* to get the property of the authorizable. Use relative path */
    Value[] names = auth.getProperty("./profile/familyName");
    /* to get the groups it is member of */
    Iterator<Group> groups = auth.memberOf(); 

要列出所有用户或组,您可以使用UserManger中提供的findAuthorizables()方法。

您还可以使用CQ.User.getCurrentUser()获取JS中的用户信息,该信息将返回当前User的实例,您可以使用该实例访问用户的属性。