我正在尝试使用LDAP以编程方式更改用户密码。用户在Active Directory中具有标志“用户下次登录时必须更改密码”。但是我无法通过此用户向Active Directory进行身份验证。我使用了两种LDAP身份验证类型-简单和GSSAPI(Kerberos)。有人可以解释一下,Windows本身在选中“用户必须更改密码”时如何更改密码吗? Kerberos落在AS_REQ-AS_RSP (AS)
步骤上,并在身份验证时返回错误STATUS_PASSWORD_MUST_CHANGE
。
答案 0 :(得分:2)
感谢参孙的评论。
当用户选中“下次登录时必须更改密码”时,Windows首先尝试获取SPN kadmin / changepw的票证,然后使用KPASSWD服务(464 UPD / TCP)通过KPASSWD协议({{ 3}})。我试图通过Windows为“必须更改密码”用户更改密码,然后通过Wireshark分析软件包,所有操作均根据rfc3244执行。另外,我尝试使用MIT KPASSWD工具,并且密码已像Windows一样更改。
从客户端到Active Directory的软件包 https://tools.ietf.org/html/rfc3244