在liferay布局监听器中获取用户详细信息

时间:2014-08-20 05:53:51

标签: liferay liferay-6

我正在为liferay布局模型创建一个监听器。我想让页面创建/更新用户详细信息到日志。这是我代码中的一个片段。

public class LayoutListener extends BaseModelListener<Layout> {
private final static Logger log = Logger.getLogger(LayoutListener.class);

  @Override
  public void onAfterRemove(Layout layout) throws ModelListenerException {
      // Need to find user deatils here.
      if (log.isInfoEnabled()) {
          log.info("Page -- " + layout.getName() + " -- removed.");
      }
      super.onAfterRemove(layout);
  }
}

如何让相关用户在此方法中删除页面?

PS - 我能够让用户访问当前线程。但我需要知道这样做的正确方法。

1 个答案:

答案 0 :(得分:1)

这就是liferay在Audit EE plugin

中为听众提取的方式
if(PrincipalThreadLocal.getName() != null) {
    userId = GetterUtil.getLong(PrincipalThreadLocal.getName());
}

我们在博客和文档的自定义监听器中也使用相同的东西。