替代AEM中已弃用的方法?

问题描述 投票:3回答:2

要获取用户名或用户电子邮件,

com.day.cq.security.profile.Profile

可以使用。但它已从CQ5.5弃用。应该做些什么?

java cq5 aem
2个回答
4
投票

使用org.apache.jackrabbit.api.security.user包中的类。你可以通过User访问UserManager(你可以通过在adaptTo(UserManager.class)上调用ResourceResolver获得)。 User支持getProperty方法,可用于获取"profile/email""profile/familyName"等。

编辑

WorkflowProcess.execute方法具有WorkflowSession参数。要从UserManager访问WorkflowSession,将其会话转换为org.apache.jackrabbit.api.JackrabbitSession,其具有getUserManager()方法:

JackrabbitSession js = (JackrabbitSession)workflowSession.getSession();
UserManager um = js.getUserManager();

0
投票

我更喜欢下面的内容,因为可以从UserProperties中获取可用的属性,API可以告诉我们将来是否会弃用它:

    UserProperties up = request.adaptTo(UserProperties.class); 
    up.getProperty(UserProperties.EMAIL);
© www.soinside.com 2019 - 2024. All rights reserved.