有没有办法在 CQ5 中获取当前页面作者的电子邮件地址和其他个人资料详细信息?
我需要在我的页面上发布它。我可以把它做成一个文本组件,让作者自己添加它,但是从后端显示它会很酷..
目前,我只能使用Page.LastModifiedBy()
有没有办法在 CQ5 中获取当前页面作者的电子邮件地址和其他个人资料详细信息?
我需要在我的页面上发布它。我可以把它做成一个文本组件,让作者自己添加它,但是从后端显示它会很酷..
目前,我只能使用Page.LastModifiedBy()
您可以通过页面 jcr:content 节点上的 jcr:createdBy 属性获取作者的用户名。
然后,您可以通过 UserManager 查找电子邮件地址,您可以从 JcrSession 对象中对其进行调整。这个页面有一些关于加载用户信息的附加信息。
在 JSP 中,您可以执行以下操作:
<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" import="org.apache.jackrabbit.api.security.user.*, com.day.cq.commons.jcr.*" %>
...
<%
String createdBy = properties.get(JcrConstants.JCR_CREATED_BY, String.class);
UserManager userManager = resourceResolver.adaptTo(UserManager.class);
Authorizable authorizable = userManager.getAuthorizable(createdBy);
if (authorizable.hasProperty("profile/familyName")) {
String familyName = authorizable.getProperty("profile/familyName")[0].getString();
}
%>