在 ADAM 中,如果 admin 设置 pwdLastSet = 0 ,为啥响应控制为 NULL 尽管绑定抛出 NamingException?

Posted

技术标签:

【中文标题】在 ADAM 中,如果 admin 设置 pwdLastSet = 0 ,为啥响应控制为 NULL 尽管绑定抛出 NamingException?【英文标题】:In ADAM, if admin sets pwdLastSet = 0 , why response control is NULL inspite of bind throws NamingException?在 ADAM 中,如果 admin 设置 pwdLastSet = 0 ,为什么响应控制为 NULL 尽管绑定抛出 NamingException? 【发布时间】:2015-04-03 07:18:52 【问题描述】:

我在 ADAM 中为用户设置 pwdLastSet = 0。因此,在绑定操作时,我得到以下异常,这是正确的,因为我通过设置 pwdLastSet = 0

重置该用户的密码

javax.naming.AuthenticationException: [LDAP: error code 49 - 8009030C: LdapErr: DSID-0C090311, comment: AcceptSecurityContext error, data 20ee, vece

但是在此之后,当我尝试 getResponseControl() 时,它返回给我 NULL。 是什么原因 ?我希望它应该返回 PasswordExpirationControl

谁能帮忙解决这个问题?

【问题讨论】:

您使用了什么查询?用户是在 ADAM 实例中还是在 AD 实例中?需要更多细节。 @jeemster :我使用 JNDI 库的 modifyAttributes() 调用设置 pwdLastSet = 0。用户仅在 ADAM 实例中。您还需要什么详细信息? 是否在 rootDSE 中定义了 PasswordExpirationControl? @jeemster:不。 PasswordExpirationControl 未在 rootDSE 中定义。在没有相同的情况下,绑定操作时我应该得到什么错误? 【参考方案1】:

我会假设你收到的错误。

javax.naming.AuthenticationException: [LDAP: error code 49 - 8009030C: LdapErr: DSID-0C090311, comment: AcceptSecurityContext error, data 20ee, vece

仅当以下情况之一为真时才会出现此消息:

帐户密码已过期。 帐户被锁定。 必须更改帐户密码。

还有一个带有 Service Pack 1 specific bug 的 ADAM 1.1,但根据您提供的内容,我认为它不适用。 -吉姆

【讨论】:

以上是关于在 ADAM 中,如果 admin 设置 pwdLastSet = 0 ,为啥响应控制为 NULL 尽管绑定抛出 NamingException?的主要内容,如果未能解决你的问题,请参考以下文章

从 C# 针对 ADAM 对 ADAM 用户进行身份验证 - 无法绑定

提取 ADAM 架构

torch.optim.adam里面的参数可以自动设置吗

当前 URL 与其中任何一个都不匹配 - 使用多个站点

C语言 if else if else不能运行。求指导

比较Adam 和Adamw