我正在使用Java ldaptive库通过LDAP协议与Active Directory进行通信。 我的问题如下: 我需要具有密码重置功能,尊重密码历史记录和复杂性要求,但忽略最小密码年龄规则。 我使用管理员帐户重置密码:
si
添加的控件在Microsoft网站上记录为控制强制执行密码历史记录要求link
但是,正如this answer中所建议的那样,它还会强制执行最低密码期限规则,这违反了文档。
知道如何让它按照文档中的描述工作吗?
答案 0 :(得分:1)
文档错误。你无法让它像那样工作。最低密码年龄规则将受到尊重,您无法通过代码覆盖它。
请注意,在Active Directory中,与典型的LDAP服务器不同,它不会像您认为的那样强制实施密码策略。密码策略由组策略管理,并在Windows中强制执行,特别是由Windows LSASS.exe进程强制执行。
由于您通过组策略配置密码策略。这些设置直接写入域控制器上的安全配置单元。这是LSASS从中读取它们的地方。这些设置被覆盖的唯一时间是直接从ADUC更改密码。
除了AD工具之外,您还必须编写在LSASS流程中运行的密码过滤器.dll:
自定义密码过滤器 https://blogs.technet.microsoft.com/tristank/2005/07/18/custom-password-filters/
密码过滤器 https://msdn.microsoft.com/en-us/library/windows/desktop/ms721882(v=vs.85).aspx
当我向他提出这个问题时,这个信息是由Microsoft PSS现场工程师提供给我的。