2011-03-08 25 views
0

症狀:
PumaLocator是不可用的,每一個findXXX - 方法返回空結果,或者因爲什麼也沒有找到引發異常。Websphere PUMA SPI(PumaLocator)如何與ICEfaces Portlet結合使用?

分析:
這個問題似乎是,由於ICEfaces的具體架構,方法GenericPortlet.doView只是援引首次在portlet加載,而不是爲以下(AJAX)頁面更新,例如在調用ActionListener的情況下。
如果我在doView方法內使用PumaLocator,一切正常。

我嘗試了以下嘗試尚未:

  • 獲取PumaLocatordoView,放入會話使用它之​​後 - 沒有工作
  • 獲取doViewRenderRequest,放入會議和稍後使用它可通過該請求獲得PumaLocator - 無效

我很樂意提供任何提示。謝謝!

回答

1

PUMA使用在上下文中找到的信息來檢查結果的授權。您必須在部署描述符中添加JavaEE安全角色,以用於ICEFaces使用的AJAX後端servlet。作爲規則的一個縮略圖,如果request.getRemoteUser()和request.getUserPrincipal()返回除null之外的東西,那麼你知道PUMA將起作用。否則它會不是工作,那是預期的行爲。

或者你可以嘗試禁用PUMA like this.

+0

的安全檢查,謝謝您的答覆 - 非常有幫助。您能否請添加更多關於要添加哪些安全角色的信息?謝謝! – Zeemee 2011-04-12 06:30:34

+0

@mulmoth任何。只要確保你的servlet(或其他)需要一些認證的用戶和角色。沒關係。 – user918176 2011-10-13 18:22:07

相關問題