2013-02-21 45 views
3

在CQ5中有什麼方法可以獲取當前頁面作者的電子郵件地址和其他個人資料詳情嗎?在CQ5獲取頁面作者

我需要將其發佈到我的頁面上。我可以使它文本組件,讓作者自己添加它,但它會很酷從後端顯示它..

現在,我只能用Page.LastModifiedBy()

回答

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

這篇對你的工作? – diffa 2013-02-25 09:10:00

+0

是的......它確實有效! Thnx! – 2013-02-26 05:40:34