2 回答

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