3

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

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

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

4

1 回答 1

6

您可以通过页面 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();        
  }
%>
于 2013-02-21T13:41:36.583 回答