在Liferay 7中登录后调整用户会话,如何获得会话?

时间:2016-08-22 18:19:12

标签: java session liferay liferay-7

在liferay 7中,我尝试在登录成功后调整用户会话。我曾经为此构建一个钩子,它曾经工作得很好。但现在我无法检索会话以检查属性。

@Component(immediate = true, property = { "key=login.events.post" }, service = LifecycleAction.class)
public class TestSessionAdjustAction implements LifecycleAction {
@Override

public void processLifecycleEvent(LifecycleEvent lifecycleEvent) throws ActionException {
        final HttpSession session = lifecycleEvent.getSession();
        final TestAccessToken token = (TestAccessToken) session.getAttribute(TestWebkeys.TEST_ACCESS_TOKEN);
        if (token != null) {
            TestSessionUtil.put(token.getRefreshToken(), session);
        }
    }
}

代码抛出一个空指针ex:

session.getAttribute(TestWebkeys.TEST_ACCESS_TOKEN);

1 个答案:

答案 0 :(得分:0)

我在筹集资金,用

替换我有问题的行
  

final HttpSession session = lifecycleEvent.getRequest()。getSession();

解决了这个问题。 (我希望这对一些人有所帮助......因为它花了我一段时间)

似乎lifecycleEvent在其类中有几个构造函数,并且在我的方法之前使用的构造函数将会话设置为null ...

void