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
.
添加回答
举报