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】:错误码548(0x548,或十六进制转十进制后的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 身份验证,错误原因未知的主要内容,如果未能解决你的问题,请参考以下文章