在Active Directory中,您可以设置和执行用户必须使用强密码的规则,不能使用他们已有的最后5个以上密码,强制执行密码复杂性。 有没有办法强制这样的设置,以便如果一个服务帐户(密码重置Web服务)试图设置用户的新密码,检查对策略,并被接受或拒绝?
看来,由于服务帐号正在强制更改密码,用户可以通过网页界面input相同的密码,并一直重复使用相同的密码。 由于它是一个服务帐号,所以不会对最后一次已知的密码进行检查,因此不会强制执行密码规则
虽然程序员可以编码复杂性检查最后使用的密码检查不能在Web界面上检查,因为Web服务不知道最后的密码。
是否有可能强制它使服务帐户的密码更改也像正常的用户密码更改会受到限制?
在AD中,有两种types的操作来改变用户的密码 – 一个可以匿名执行的改变 ,因为它需要旧密码作为请求的一部分,而一个复位不需要旧密码,必须由有权访问的用户可以重置目标帐户的密码。
在这种情况下,软件应用程序正在执行重置操作,而不知道用户的旧密码,但同时被authentication为具有所需权限的服务帐户。
从AD的angular度来看,密码正在pipe理上重置; 在这种情况下,密码历史logging是不会被强制执行的,因为进行重置的pipe理员不应该知道用户的旧密码 – 如果他们习惯于设置新的密码Thursday1 ,例如Thursday1 ,就不能满足复位操作的策略会很混乱。
虽然糟糕的用户体验,但我能想到的最好的机制是让Web应用程序重置密码(可能是他们不input的,只是生成的),然后设置“下一次login时必须更改密码“帐户上的标志强制用户立即进行密码更改操作,这将强制执行历史logging。
有一些在.Net中使用LDAP API的讨论,以实现在这种types的重置实施历史logging的目标,但我不确定这是否是一个选项,取决于您正在使用的应用程序; 如果你控制的代码和你正在使用的LDAP库支持控件,那么它应该是可行的。