要获取用户名或用户电子邮件,
com.day.cq.security.profile.Profile
可以使用。但它已从CQ5.5弃用。应该做些什么?
使用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();
我更喜欢下面的内容,因为可以从UserProperties中获取可用的属性,API可以告诉我们将来是否会弃用它:
UserProperties up = request.adaptTo(UserProperties.class);
up.getProperty(UserProperties.EMAIL);