2 回答
TA貢獻1864條經驗 獲得超2個贊
我理解 WebLogic 的最大障礙AuthenticationProviders是理解如何傳遞憑據。似乎有太多事情在幕后“自動”發生。我覺得我必須以某種方式訪問一個LoginContext和/或CallbackHandler在后臺操作的 WebLogic。我在正確的軌道上,但錯過了一些關于 JAAS 身份驗證的重要內容......
JAAS 身份驗證的第 3 步和第 4 步如下所示:
WebLogic Server 容器調用 WebLogic 安全框架。如果存在包含身份驗證信息的客戶端 CallbackHandler,則會將其傳遞到 WebLogic 安全框架中。
對于每個配置的身份驗證提供程序,WebLogic 安全框架使用傳入的身份驗證信息創建一個 CallbackHandler 。(這些是由 WebLogic 安全框架在服務器端創建的內部 CallbackHandler,與客戶端的 CallbackHandler 無關。)
這是讓我失望的部分。我的思緒被CallbackHandler傳遞到 WebLogic 的身份驗證信息上。我沒能聽懂步驟末尾顯示的注釋:
注意:
對于完全在服務器端執行的身份驗證,該過程將從步驟 3 開始,WebLogic Server 容器將在步驟 4 之前調用 weblogic.security.services.authentication.login 方法。
你難道不知道嗎……Authentication有四種login方法,每一種都接受一個CallbackHandler!
對于我的情況,我可以使用 servlet 過濾器從請求標頭中挑選憑據,將它們傳遞給CallbackHandler,然后調用Authentication.login(CallbackHandler callbackHandler)以使用自定義LoginModule.
添加回答
舉報
