2015-04-02 59 views
1

我想监视liferay中的实时用户会话。我发现需要将属性live.users.enabled=true置于portal-ext.properties文件中的解决方案。由此我们可以从Liferay服务器的控制面板 - >门户 - >监控选项卡查看实时用户会话。但如果尝试拨打jsonws用于登录目的从移动应用程序,它会给我错误的AutoLoginFilter。错误如下:life.users.enabled = liferay中的true属性和AutoLoginFilter 6.1.1

07:57:46,519 ERROR [bio-http-'8080'][AutoLoginFilter:238] Current URL 
/sample-portlet/api/secure/[email protected]& 
parameterAutoLoginPassword=test&[email protected]&j_password=test : 
generates exception : Session already invalidated 

我可以在浏览器中使用相同凭据登录liferay。 我发现AutoLoginFilter在属性live.users.enabled = true时无法工作的问题。其中之一在这里https://issues.liferay.com/browse/LPS-29871

所以我想监视活用户会话和AutoLoginFilter工作正常。我怎样才能做到这一点。如果有任何人可以,请给我解决办法。

回答

1

在这种情况下,您可以挂钩自动注册过滤器。从getLoginRemoteUser方法中删除以下片段。 (94行)

else if (PropsValues.LIVE_USERS_ENABLED) { 
     UserTracker userTracker = UserTrackerLocalServiceUtil.fetchUserTracker(userId); 

    if ((userTracker == null) && (session.getAttribute(WebKeys.USER) == null)) { 
     session.invalidate(); 
     return null; 
    } 
}