【发布时间】:2013-01-17 15:13:19
【问题描述】:
我是 Spring Portlet MVC 的新手,但最近几天我一直在努力学习。 我的问题的上下文如下
- 我有一个带有单个控制器的 Spring Portlet MVC portlet。
- Portlet 被配置为在用户想要访问资源时调用 HandlerInterceptor(方法“preHandleRender”)。
- 拦截器会检查用户是否通过了身份验证,如果没有,它会检索用户的 Liferay 凭据以管理许多其他 Web 服务的身份验证(目前不感兴趣)。
- 此后,拦截器将用户数据存储在 PortletSession 中。
现在,我应该如何从控制器内部通过拦截器检索存储在 PortletSession 中的用户数据??
sessionInterceptor.preHandleRender
@Override
public boolean preHandleRender(RenderRequest request, RenderResponse response, Object handler) throws Exception {
PortletSession session = request.getPortletSession(true);
.
.
.
session.setAttribute("userProfile", userProfileDomain,PortletSession.APPLICATION_SCOPE);
.
.
.
return true;
}
ViewController 类
@Controller("viewController")
@RequestMapping(value = "view")
public class ViewController {
//@Autowired
private WebServiceTemplate webServiceTemplate = new WebServiceTemplate();
@RenderMapping
public String setModelAndView(RenderRequest request, ModelMap tgtModel) {
logger.debug("<< | >> Starting.");
PortletConfiguration conf = PortletConfiguration.getInstance();
.
.
}
}
如果需要,我准备提供有关我的代码的更多信息。
【问题讨论】:
标签: java session liferay spring-portlet-mvc