在ADAM中,如果管理员设置pwdLastSet = 0,为什么响应控制是NULL,尽管绑定抛出NamingException?
问题描述:
我正在为ADAM中的用户设置pwdLastSet = 0。因此,尽管绑定操作,我得到以下异常这是正确的,因为我通过设置重置用户密码的pwdLastSet = 0在ADAM中,如果管理员设置pwdLastSet = 0,为什么响应控制是NULL,尽管绑定抛出NamingException?
javax.naming.AuthenticationException: [LDAP: error code 49 - 8009030C: LdapErr: DSID-0C090311, comment: AcceptSecurityContext error, data 20ee, vece
但在此之后,当我试图getResponseControl(),它返回我空值。 是什么原因?我期待它应该返回PasswordExpirationControl。
任何人都可以帮助解决这个问题吗?
答
我会假设你收到一个错误。
javax.naming.AuthenticationException: [LDAP: error code 49 - 8009030C: LdapErr: DSID-0C090311, comment: AcceptSecurityContext error, data 20ee, vece
此消息仅当以下情况之一是真实的发生:
- 帐户密码已过期。
- 该帐户被锁定。
- 必须更改帐户密码。
还有一个ADAM 1.1服务包1 specific bug,但从你提供的,我不认为它适用。 -jim
你用什么查询?用户是在ADAM实例中还是在AD实例中?需要更多的细节。 – jwilleke 2015-04-05 08:40:29
@jeemster:我使用JNDI库的modifyAttributes()调用来设置pwdLastSet = 0。用户仅在ADAM实例中。你需要更多的细节? – BND 2015-04-06 06:30:53
PasswordExpirationControl是否在rootDSE中定义了int? – jwilleke 2015-04-06 13:46:54