簡體   English   中英

重置密碼時使用ldaptive強制執行A​​ctive Directory密碼歷史記錄策略

[英]Enforce Active Directory password history policy using ldaptive on password reset

我正在使用Java ldaptive庫通過LDAP協議與Active Directory通信。 我的問題如下:我需要具有密碼重置功能,遵守密碼歷史記錄和復雜性要求,但忽略最低密碼期限規則。 我使用管理員帳戶執行密碼重置:

modifyRequest = new ModifyRequest(userLdapEntry.getDn(),
                new AttributeModification(
                        AttributeModificationType.REPLACE,
                        new UnicodePwdAttribute(password)));
        modifyRequest.setControls(new LdapPolicyHintsControl(getADPolicyHintsEnforceFlag(), false));

        new ModifyOperation(connection).execute(modifyRequest);

添加的控件記錄在Microsoft網站上,作為執行密碼歷史記錄要求的控件鏈接

但是,正如該答案中所建議的那樣,它還強制執行了最小密碼期限規則,這與文檔不符。

知道如何按照文檔中的說明進行操作嗎?

該文檔是錯誤的。 您將無法使其那樣工作。 將遵守“最小密碼期限”規則,您不能通過代碼覆蓋它。

請注意,在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/zh-cn/library/windows/desktop/ms721882(v=vs.85).aspx

當我向他提出這個問題時,此信息是由Microsoft PSS現場工程師提供給我的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM