亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

oracle weblogic OAM servlet 代理 - 如何傳播

oracle weblogic OAM servlet 代理 - 如何傳播

慕田峪7331174 2022-10-12 15:38:07
我試圖在 weblogic 版本是 12.2.1.3 中與 SSO 搏斗。我們已將它與 OAM/OID 集成在一個由 Oracle Forms & Reports 組成的更大應用程序中。除了 Forms,我們還有各種需要從 Forms 調用的基于 servlet 的自定義應用程序。這可以。因為身份驗證發生在 Oracle 世界中,通過 OAM 登錄屏幕,所以到目前為止,除了從 HTTP 標頭獲取用戶名之外,我還不必在我的 Java 自定義代碼中弄亂訪問管理。壞事是有時我們需要我們的 servlet 充當 Forms 和 Reports 之間的中間人。例如,我需要用報告(在服務器上)調用各種東西,轉換它們并將它們發送回客戶端。我知道這在設計上聽起來不正確。但它仍然是遺留代碼,我們需要完成這項工作 - 至少需要嘗試..以前我們過去常常在請求之間傳遞cookies。但是在 11/12g OAM 中,我從這里收集到成功會話驗證所需的 cookie (OAMAuthnCookie) 在到達我的 servlet 之前已從請求中刪除。這似乎確實發生了,基于我正在做的標頭轉儲,并使用瀏覽器上的 F12 開發人員工具跟蹤調用。所以..我已經收集到我需要生成一個新的 OAMAuthnCookie,或者可以創建它并將其附加到新的 http 調用的東西.. 我只是希望專家或處理過這個問題的人來驗證以下假設是正確的 - 這樣做的唯一方法是使用 OAM SDK(有點不直觀的恕我直言)。另一件事——我發現的有關 OAM SDK 的許多示例都涉及登錄表單。我不需要做用戶認證,也不需要自己和 OAM 交談來驗證資源是否受到保護。我正在處理一個已經過身份驗證的請求 - 需要以某種方式從 HttpServletRequest 獲取 UserSession 和用戶令牌,以便生成新的 OAMAuthnCookie 以便我的下一個請求(使用例如 apache 客戶端)成功。我曾經假設這不會很難做到,但我現在有點難過。感謝您的關注。
查看完整描述

1 回答

?
MM們

TA貢獻1886條經驗 獲得超2個贊

使用 OAM SDK,據我草書所見(在撰寫本文時,我們使用 Weblogic 12c 和 Access Manager,其行為與討論 OAM 11g 的文檔中描述的完全一樣 - 因此我假設這是我們正在使用的版本太),涉及

  • 從 OAM 控制臺生成 ObAccessClient.xml,以在您正在處理的代碼(將稱為 Access Client)和 OAM 之間建立聯系

  • 包括來自可下載 OAM SDK 的 JAR 和您的應用程序

  • 在您的應用程序中編寫代碼(例如,在身份驗證過濾器或 servlet 中)以通過其 SDK 與 OAM 建立通信以最終進行身份驗證/授權等。

這里有一個關于如何在Oracle 文檔中編寫代碼的很好的指南。

我還發現這些文章非常有用:

我想到的代碼最終會生成一個新的身份驗證 cookie,我將把它傳遞給報告 servlet 以進行進一步授權(因為在到達我的應用程序之前,確實從請求中刪除了這個 cookie)。根據另一篇 Oracle A-Team 文章,我發現生成此類 cookie 的唯一方法是更改 OAM 控制臺中的設置以在請求中包含另一個 cookie (OAM_IDENTITY_ASSERTION) 。

在上述調查的過程中,我終于在甲骨文論壇的一個問題上偶然發現了這個神奇的回復。根據它,OAM 控制臺中有一個用戶設置,允許關閉 OAMAuthnCookie 的默認過濾。

filterOAMAuthnCookie=false

就我們而言,這非常適合我。事實上,在更改之后,有問題的 cookie 終于到達了我的應用程序,結果我能夠將其傳遞給 Oracle Reports 的后續請求,而無需使用 OAM SDK。


查看完整回答
反對 回復 2022-10-12
  • 1 回答
  • 0 關注
  • 90 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號