我有一个用例需要获取给定组的所有用户,然后获取所有发送通知的电子邮件ID。 以下是我的代码段。
public void getUserName() {
ResourceResolver resourceResolver = null;
try {
resourceResolver = resourceResolverFactory.getAdministrativeResourceResolver(null);
if(null !=resourceResolver ) {
Session session = resourceResolver.adaptTo(Session.class);
resourceResolver = getResourceResolver(session);
// UserManager userManager =((JackrabbitSession) session).getUserManager();
UserManager userManager = resourceResolver.adaptTo(UserManager.class);
Authorizable authorizable= userManager.getAuthorizable("mygroup");
org.apache.jackrabbit.api.security.user.Group group = (org.apache.jackrabbit.api.security.user.Group) authorizable;
Iterator itr = group.getMembers();
while(itr.hasNext()) {
Object obj = itr.next();
if(obj instanceof User) {
User user = (User) obj;
System.out.println("Name"+user.getID());
Authorizable userAuthorization = userManager.getAuthorizable("user.getID()");
if(userAuthorization.hasProperty("/profile/email")) {
System.out.println("EMailID-----"+userAuthorization.getProperty("/profile/email").toString());
}
}
}
}
} catch (LoginException e) {
e.printStackTrace();
} catch (RepositoryException e) {
e.printStackTrace();
}
}
但是在行
UserManager userManager = resourceResolver.adaptTo(UserManager.class);
我正在
“无法解析类型: org.apache.jackrabbit.api.security.user.UserManager”。
注意:我正在研究AEM6.1。
答案 0 :(得分:1)
以下代码片段在here中正常工作:
pom.xml
您是否以正确的方式导入AEM 6.1课程? <dependency>
<groupId>com.adobe.aem</groupId>
<artifactId>uber-jar</artifactId>
<version>6.1.0</version>
<classifier>apis</classifier>
<!--<classifier>obfuscated-apis</classifier>-->
<scope>provided</scope>
</dependency>
中的导入示例:
classifier
提示1 :apis
可以有obfuscated-apis
或output {
elasticsearch {
hosts => ["localhost:9200"]
index => "logstash-%{index_name}_logs"
}
}
值,具体取决于您对jar的访问级别。 Groovy Console
提示2 : 请尽量避免使用管理资源解析程序More information.。
提示3 : 您可以在以下网址since it's deprecated
下找到本地实例的适配器和适配表