`
songxh2
  • 浏览: 131909 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

LDAP密码修改

阅读更多
//LDAP密码修改

final String host = "192.168.1.101";
final int port = 389;

final LDAPConnectionFactory factory = new LDAPConnectionFactory(host, port);
Connection connection = null;

try {
    connection = factory.getConnection();
    
    //checkSupportedExtendedOperations(connection);
    extendedOperations=RootDSE.readRootDSE(connection).getSupportedExtendedOperations();

    final String ladpAdmin = "cn=Directory Manager";
    final char[] ladpAdminPassword = "xerllent".toCharArray();
    connection.bind(ladpAdmin, ladpAdminPassword);

    // Uncomment a method to run one of the examples.

    // For a Cancel Extended request, see the SearchAsync example.
    //usePasswordModifyExtendedRequest(connection);
        if (extendedOperations != null && !extendedOperations.isEmpty() && extendedOperations.contains(PasswordModifyExtendedRequest.OID)) {

            //final String userIdentity = "uid=test3,ou=People,dc=example,dc=com"; //通过
            final String userIdentity = "u:test3"; //通过
            //final String userIdentity = "uid:test3"; //错误写法
            final char[] oldPassword = "test3".toCharArray();
            final char[] newPassword = "test3".toCharArray();

            final PasswordModifyExtendedRequest ldaprequest =
                    Requests.newPasswordModifyExtendedRequest()
                        .setUserIdentity(userIdentity)
                        .setOldPassword(oldPassword)
                        .setNewPassword(newPassword);

            final PasswordModifyExtendedResult result = connection.extendedRequest(ldaprequest);
            if (result.isSuccess()) {
                System.out.println("Changed password for " + userIdentity);
            } else {
                System.err.println(result.getDiagnosticMessage());
            }
        } else {
            System.err.println("PasswordModifyExtendedRequest not supported");
        }


} catch (ErrorResultException e) {
    System.err.println(e.getMessage());
    System.exit(e.getResult().getResultCode().intValue());
    return;
} finally {
    if (connection != null) {
        connection.close();
    }
}



--------------------------------------------------------------------------
Changed password for uid=test3,ou=People,dc=example,dc=com
Changed password for u:test3
Protocol Error: 无法处理密码修改扩展请求,因为它包含无效的 userIdentity 字段。提供的 userIdentity 字符串为 "uid:test3"
分享到:
评论

相关推荐

    修改ldap密码源代码

    标题中的“修改ldap密码源代码”表明我们即将探讨的是与LDAP(轻量级目录访问协议)相关的编程实践,特别是涉及到用户密码的修改操作。在IT领域,LDAP常用于存储和管理用户身份信息,包括用户名、密码等,为网络服务...

    java使用ldap修改ad域用户密码

    Java 使用 LDAP 修改 AD 域用户密码 本文将详细介绍如何使用 Java 语言通过 LDAP 协议修改 Windows Active Directory 域用户的密码。同时,本文也将对相关概念进行解释,以便读者更好地理解整个过程。 LDAP 概念 ...

    java使用ldap修改ad域用户密码收集.pdf

    8、在编写 Java 代码时,需要使用 Hashtable 对象来存储 LDAP 连接的参数,使用 Socket 对象来连接 LDAP 服务器,并使用 SSL/TLS 加密协议来确保密码修改的安全性。 9、在编写 Java 代码时,需要使用相关的 LDAP ...

    LDAP之JNDI修改条目密码

    5. **提交更改**:最后,通过调用`DirContext.commitChanges()`或类似的API,将所有修改保存到LDAP目录。 在实际应用中,为了增加安全性,可能还需要考虑盐值(salt)和多次哈希等额外步骤。盐值是一个随机字符串,...

    ldap-notify:LDAP 密码登录到期通知工具

    ldap-通知名称ldap-notify ...选项-h , --help显示此帮助-c , --conf config-file强制参数:配置文件名-k忽略 SSL/TLS 证书--dry不要发送电子邮件或修改 ldap 中的任何内容--test test-address将所有邮件发送到给定地址

    LDAP-Password-Change-Tool:LDAP密码修改工具-开源

    该脚本将帮助您通过网页更改 389 目录服务器 Centos-DS 的密码。 无需将脚本与您的 LDAP 服务器绑定

    JAVA ldap AD 域 免证书 查询 修改 删除 新增 启用 禁用 修改密码

    JAVA LDAP AD 域免证书查询修改删除新增启用禁用修改密码 在这篇文章中,我们将探讨使用 JAVA 实现 LDAP 的 AD 域免证书查询、修改、删除、新增、启用、禁用和修改密码的操作。 首先,让我们了解什么是 LDAP 和 AD...

    chpwd:更改ldap密码

    在这里,由于主题是关于修改LDAP密码,CSS不太相关,可能是标签错误。不过,如果在Web应用中实现 LDAP 登录,前端可能会使用CSS来控制登录界面的样式。 在提供的压缩包文件名 "chpwd-master" 中,"master" 通常指的...

    java使用ldap修改ad域中的用户密码

    密码修改操作必须通过安全通道来执行,例如 SSL、TLS 或 Kerberos。这是为了保护密码传输的安全性,防止密码被截获或篡改。 五、Windows 2000 域控制器不支持 TLS 协议 Windows 2000 域控制器不支持 TLS 协议,但...

    java使用ldap修改ad域用户密码.pdf

    * 密码修改操作必须通过安全通道来执行,例如 SSL、TLS 或 Kerberos。 3. 环境要求 环境要求包括: * 一台安装 Active Directory 的服务器,域名为 security.boco。 * 一台安装证书服务(需安装企业根证书)的...

    zimbra-ldap-password:Zimbra 的密码更改插件

    Zimbra LDAP密码更改插件,正如标题所示,是Zimbra协作套件中的一个关键组件,用于允许用户安全地修改自己的密码。这个插件与Zimbra的LDAP服务器紧密集成,提供了用户友好的界面和API,以便在不触及底层LDAP服务复杂...

    ldap-passwd-changer:一组简单的 PHP 脚本,使 LDAP 用户能够更改他们的密码

    LDAP密码修改过程:** - **验证用户身份**:用户输入旧密码,脚本通过ldap_bind()尝试用这些凭证绑定到LDAP服务器,验证用户身份。 - **密码更新**:如果用户身份验证成功,脚本将使用ldap_mod_replace()或ldap_...

    LdapBrowser ldap连接工具

    1. **用户管理**:通过LdapBrowser,IT管理员可以快速创建、修改和删除用户账户,分配权限,实现集中化的用户身份管理。 2. **组策略管理**:可以定义和应用组策略,控制用户的访问权限和系统设置。 3. **系统集成**...

    lssp:LDAP 自助服务密码

    lssp LDAP Self Service Password 是一个小型的 nodejs 项目,它允许用户在 ldap 中更改密码。安装依赖$ npm install .配置复制原始配置文件并进行适当的更改: $ cp config/default.json.dist config/default.json...

    开源的基于php语言开发的ldap自助修改密码系统Self Service Password.zip

    软件开发设计:PHP、应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、存储...

    LDAP入門LDAP入門LDAP入門

    - **ldappasswd**:用于更改用户的密码。 ### 参考书目 - 《LDAP System Administration》by Peter K. Lewis - 《Mastering LDAP: Server and Client Development for OpenLDAP 2》by Richard A. Newbury - ...

    ldap 浏览器 LdapBrowser282

    **LDAP浏览器LdapBrowser282详解** LDAP(Lightweight Directory Access Protocol)是一种用于访问目录服务的协议,常用于组织和管理用户、组、资源等信息。LdapBrowser282是一款专门针对LDAP目录服务的浏览和管理...

    ldappw:更改LDAP密码

    用于CGI的Python应用程序,用于更改LDAP密码。 要求 烧瓶 python-ldap 在Apache上运行 将以下设置添加到httpd.conf ScriptAlias /ldappw "C:\Bitnami\redmine-2.5.0-0\apps\pythonapp\ldappw.cgi" 现在,您可以...

    ldap.zip_LDAP DELPHI_delphi ldap

    - 修改和删除功能则涉及更新或删除现有LDAP条目。 4. **编码与错误处理**: - 在开发过程中,开发者需要注意编码规范,确保代码可读性和可维护性。 - 错误处理是关键,尤其是涉及到网络通信和数据库操作时,应...

    LDAP-PW-Bulk-Reset:用于为大量ldap帐户批量重置ldap密码的命令行工具。 当无法选择环境中的ldap自助服务且您需要迁移通常不保留密码的ldap用户时,此选项适用

    用于为大量ldap帐户批量重置ldap密码的命令行工具。 作者:斯蒂芬·舒伯特(Stefan Schubert) 需要Java8 发布信息:SNAPSHOT的有效发布。 (尚无大型异常处理) 目的 创建此工具的原因是,主要的Wiki和问题跟踪...

Global site tag (gtag.js) - Google Analytics