Websphere PUMA SPI(PumaLocator)如何与ICEfaces Portlet一起使用?

时间:2011-03-08 08:09:52

标签: icefaces websphere-portal

症状:
PumaLocator不可用,每个findXXX - 方法返回空结果或抛出异常,因为没有找到任何内容。

分析:
问题似乎是,由于ICEfaces特定的体系结构,方法GenericPortlet.doView仅在第一次加载Portlet时被调用,而不是用于以下(AJAX)页面更新,例如,在调用ActionListener的情况下 如果我在doView方法中使用PumaLocator,一切正常。

我尝试了以下尝试:

  • 获取PumaLocator中的doView,将其放入会话并稍后使用 - 不起作用
  • RenderRequest中获取doView,将其放入会话并稍后通过传递该请求获取PumaLocator - 无法正常工作

我很高兴有任何提示。谢谢!

1 个答案:

答案 0 :(得分:1)

PUMA使用上下文中的信息检查结果授权。您必须在ICEFaces使用的AJAX后端servlet的部署描述符中添加JavaEE安全角色。作为规则的拇指,如果request.getRemoteUser()和request.getUserPrincipal()返回除null之外的东西你知道PUMA将起作用。否则它将 NOT 工作,这是预期的行为。

或者,您可以尝试禁用PUMA like this.

的安全检查