WebSpherePumaSPI(PumaLocator)如何与ICEfaces Portlet一起使用?
症状:WebSpherePumaSPI(PumaLocator)如何与ICEfaces Portlet一起使用?,icefaces,websphere-portal,Icefaces,Websphere Portal,症状: PumaLocator不可用,每个findXXX-方法返回空结果或抛出异常,因为找不到任何内容 分析: 问题似乎在于,由于ICEfaces特定的体系结构,方法GenericPortlet.doView仅在首次加载Portlet时调用,而不用于以下(AJAX)页面更新,例如在调用ActionListener的情况下。 如果我在doView方法中使用PumaLocator,一切正常 我尝试了以下尝试: 在doView中获取PumaLocator,将其放入会话并稍后使用-不起作用 在doVi
PumaLocator
不可用,每个findXXX
-方法返回空结果或抛出异常,因为找不到任何内容
分析:问题似乎在于,由于ICEfaces特定的体系结构,方法
GenericPortlet.doView
仅在首次加载Portlet时调用,而不用于以下(AJAX)页面更新,例如在调用ActionListener的情况下。如果我在doView方法中使用
PumaLocator
,一切正常
我尝试了以下尝试:
- 在
中获取doView
,将其放入会话并稍后使用-不起作用PumaLocator
- 在
中获取doView
,将其放入会话中,稍后使用它通过传递该请求来获取RenderRequest
——不起作用PumaLocator
我很乐意得到任何提示。谢谢大家! PUMA使用上下文中找到的信息检查授权结果。您必须在ICEFaces使用的AJAX后端servlet的部署描述符中添加JavaEE安全角色。如果request.getRemoteUser()和request.getUserPrincipal()返回null以外的值,那么作为一个经验法则,您知道PUMA可以工作。否则它将不起作用,这是预期行为
或者,您可以尝试禁用PUMA的安全检查谢谢您的回复-非常有用。您能否添加一些关于要添加哪些安全角色的详细信息?谢谢@莫莫丝,任何。只需确保您的servlet(或其他)需要一些经过身份验证的用户和角色。不管发生什么事。