Weblogic 应用程序服务器上的 Active Directory 身份验证,错误原因未知

Posted

技术标签:

【中文标题】Weblogic 应用程序服务器上的 Active Directory 身份验证,错误原因未知【英文标题】:Active Directory authentication on Weblogic application server with unknown error cause 【发布时间】:2013-04-16 06:46:40 【问题描述】:

在尝试使用有效凭据对用户进行身份验证时,我们在 Weblogic 应用程序服务器(在生产环境中)遇到了身份验证错误(这些凭据在应用程序中是硬编码的,并且该用户本质上用于访问技术资源,例如 Web 服务)。此用户的身份验证是多年的自动过程,凭据是硬编码的,永远不会改变。

该错误以前从未发生过,并且只发生了一段时间。

这是来自我们的应用程序服务器日志(Weblogic)的错误(真实用户名已替换为 XXX)

<Got AuthenticationException error while authenticating [family\XXX] to Active Directory. 
<javax.naming.AuthenticationException: 
[LDAP: error code 49 - 80090308: LdapErr: DSID-0C0903A9, 
comment: AcceptSecurityContext error, data 548, v1db1]> >

错误代码 49 表示凭据无效错误。

See list of LDAP error codes

但如前所述,用户名和密码是有效的。

我找不到任何关于提到的 Active Directory 错误(此处为 data 548

通常,当Invalid credentials异常发生时,是由于用户输入的密码错误,log trace如下,出现52e错误

代码52e指的是无效凭证

<Got AuthenticationException error while authenticating [family\XXX] to Active Directory. 
<javax.naming.AuthenticationException:
[LDAP: error code 49 - 80090308: LdapErr: DSID-0C0903A9, 
comment: AcceptSecurityContext error, data 52e, v1db1]> >

错误代码 52e 也指 Active Directory 错误代码列表中的无效凭据,但此错误很常见且可以理解(用户提供的凭据错误)

我更担心错误代码 548 ,它似乎从未在搜索引擎结果中记录甚至提及...

See list of Active Directory error codes

顺便说一下,我们的内部技术支持在系统日志中没有发现任何此类问题的痕迹。

有什么想法吗?

【问题讨论】:

【参考方案1】:

错误码5480x548,或十六进制转十进制后的1352) 似乎是指以下Windows错误代码:

错误 1352:ERROR_INVALID_SERVER_STATE

安全帐户管理器 (SAM) 或本地安全机构 (LSA) 服务器处于错误状态,无法执行安全操作。

Documentation of Windows error 1352 - 0x548

根据以下参考,这应该是问题的原因(错误代码和描述似乎与 Active Directory 和 LDAP 错误代码匹配)

List of Windows errors

【讨论】:

【参考方案2】:

由于您似乎使用域\用户格式作为绑定 DN,我想知道 548 错误(这对我来说也是新的,如果您找到它,我很想知道它的含义)是否与所暗示的 SASL 样式绑定。

您能否尝试使用正确的 DN 格式进行绑定,看看是否会有所不同?

【讨论】:

以上是关于Weblogic 应用程序服务器上的 Active Directory 身份验证,错误原因未知的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot - WebLogic 上的 Angular 5 集成

同一 Weblogic 服务器上的 OBIEE 和 ODI

weblogic安装配置

JDBC调用上的Weblogic卡住线程

如何在 weblogic 服务器上获取请求-响应日志

Grails 应用程序 - Tomcat 与 Weblogic 上的 JNDI