拦截用户访问组

时间:2015-07-20 15:39:55

标签: liferay liferay-6

我是liferay的新手,我需要在用户访问组后使用Map(groupId,lastVisitedDate)增强我的用户对象。 有什么想法,何时以及如何拦截此请求并使用被调用的groupId和当前日期增强我的用户?

1 个答案:

答案 0 :(得分:1)

我通过创建扩展portal.properties的钩子解决了我的问题。 在这个属性文件中,我创建了这个属性

servlet.service.events.pre=org.my.company.project.event.MyCustomAction

MyCustomAction类扩展了Action。

这就是我获得必要信息的方式

    @Override
    public void run(HttpServletRequest request, HttpServletResponse response)
        throws ActionException {

      try {
        User user = PortalUtil.getUser(request);

        ThemeDisplay themeDisplay = (ThemeDisplay) request
        .getAttribute(WebKeys.THEME_DISPLAY);

         Group group = themeDisplay.getLayout().getGroup();
          [...]
      } catch (Exception e) {
          throw new ActionException(e);
      }

    }