【问题标题】:How to read LDAP password policy in Java如何在 Java 中读取 LDAP 密码策略
【发布时间】:2011-12-12 08:48:11
【问题描述】:

我可以从 LDAP 中读取用户密码策略,例如它何时过期或密码强度(最小长度等)等更多详细信息?我需要这些信息,以便我可以对保存在我的数据库中的用户使用相同的策略。我的 java 应用程序要求数据库中的用户必须与域同​​步。

【问题讨论】:

    标签: java passwords ldap policy


    【解决方案1】:

    是的,您可以使用 JNDI。您必须从用户的上下文中读取 pwdPolicySubentry 操作属性的值。这为您提供了 pwdPolicy 对象的 DN,然后您将其作为具有属性的上下文进行查找,并获取以“pwd”开头的所有属性。但是,如果用户具有默认密码策略,您将不得不查看 LDAP 服务器配置以找到其 DN。在 OpenLDAP 中,它位于 'overlay ppolicy' 指令块中 ppolicy_default 行的 slapd.conf 中。

    【讨论】:

      【解决方案2】:

      这取决于底层的 LDAP 服务器。

      例如,如果您使用的是 Microsoft Active Directory,则用户条目将具有名为 accountExpires 的属性,即帐户过期日期。

      Active Directory 也有一个名为userAccountControl 的用户属性,它是一个位掩码,用于指定各种与帐户相关的状态。例如,如果设置了第 24 位,则意味着密码已过期 (userAccountControl & 0x800000 != 0)。第 2 位是“帐户禁用”等。在http://support.microsoft.com/kb/305144 阅读更多信息。

      对于其他 LDAP 服务器(OpenLDAP、ApacheDS 等),您必须查看文档。

      【讨论】:

        【解决方案3】:

        通常,在这些情况下至少存在三个不同的问题。

        帐户状态,包括帐户锁定、过期或禁用等信息。 帐户“状态”通常反映在 MMC 帐户选项卡上。 我们将一些关于 LDAP 值的信息放在我们的 wiki 上:

        http://ldapwiki.willeke.com/wiki/Active%20Directory%20Account%20Lockouthttp://ldapwiki.willeke.com/wiki/MMC%20Account%20Tab

        密码状态,密码是否过期。

        很遗憾,反映这些条件状态的属性不会实时反映在 AD 中。有些仅在用户尝试进行身份验证时更新。 (成功或不成功)。

        -吉姆

        【讨论】:

          【解决方案4】:

          如果你想通过 LDAP 查询获取密码策略,试试这个

          当前域中没有 PSO 策略

          String searchDomain= "DC=company,DC=ORG";
          String ldapQuery = "(&(objectClass=domainDNS))";
          String ldapAttribute = "maxPwdAge";
          

          如果您使用 PSO 策略,请尝试此代码

          String domainLookupString = "CN=UsersPSO,CN=Password Settings Container,CN=System,DC=company,DC=ORG";
          String ldapFilterString = "(&(objectClass=msDS-PasswordSettings))";
          String ldapAttribute = "msDS-MaximumPasswordAge"
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2023-03-31
            • 1970-01-01
            • 1970-01-01
            • 2019-02-23
            • 2014-11-18
            • 1970-01-01
            • 2014-10-10
            相关资源
            最近更新 更多