根据我的代码要求,我需要获取一些用户相关信息,这些信息是基于组织和用户组模型的几个DB调用计算出来的。根据我的绩效评估,过程需要很长时间,因为这是在多个地方完成的。在liferay中为servicecontext设置一个值
根据快速获胜,我更喜欢在登录时只做一次,但是我希望存储这些信息,以便如果可以在整个门户中使用(在钩子中,在自定义portlet中,在主题等)。为了达到这个目的,我打算使用下面的代码,只是希望检查是否有更好的解决方案(我在非Liferay的应用程序中使用会话,但总是遇到与Liferay有关的钓鱼问题) :
ServiceContext sc = ServiceContextThreadLocal.getServiceContext();
sc.setAttribute("some-user-data", someUserData);
-
,并在一些门户/挂机,我做的:
ServiceContext sc = ServiceContextThreadLocal.getServiceContext();
String someUserData = (String)sc.getAttribute("some-user-data");
谢谢! AJ
,如果我得到这个服务方面的请求,并从相同的获取会话,如** ServiceContextThreadLocal.getServiceContext()。Request()方法。的getSession()**,然后设置值到这个环节,你认为那会好吗? 这是否会导致我添加“session.phishing.protected.attributes”属性列表中的每个属性? – anjhawar