获取CQ5的页面作者

时间:2013-02-21 11:39:48

标签: cq5

有没有办法在CQ5中获取当前页面作者的电子邮件地址和其他个人资料详细信息?

我需要在我的页面上发布它。我可以把它作为一个文本组件,让作者自己添加它,但从后端显示它会很酷..

目前,我只能使用Page.LastModifiedBy()

获取名称

1 个答案:

答案 0 :(得分:6)

您可以通过页面的jcr:content节点上的jcr:createdBy属性获取作者的用户名。

然后,您可以通过UserManager查找电子邮件地址,您可以adaptTo from a JcrSession object。此页面有一些additional information on loading user information

从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();        
  }
%>