获取用户名或用户电子邮件,
com.day.cq.security.profile.Profile
可以使用,但在CQ5.5中已被弃用。 有什么解决办法吗?
org.apache.jackrabbit.api.security.user
包的类。您可以通过调用ResourceResolver
上的adaptTo(UserManager.class)
来访问UserManager
(可以通过UserManager
访问User
)。User
支持getProperty
方法,可用于获取"profile/email"
、"profile/familyName"
等。
编辑
WorkflowProcess.execute
方法具有WorkflowSession参数。要从WorkflowSession
访问UserManager
,请将其会话转换为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);
WorkflowProcess
中使用resourceResolverFactory.getThreadResourceResolver().adaptTo(UserManager.class)
来获取UserManager
是否安全? - Dileepa