如何在java或jsp中使用org.apache.jackrabbit.api.security.user
名称和组信息来获取CQ5 userInfo?
答案 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的实例,您可以使用该实例访问用户的属性。