在 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?的主要内容,如果未能解决你的问题,请参考以下文章