Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

php ldap 改密码

作者:任光阴风干ゝ影象   发布日期:2026-01-04   浏览:356

要使用PHP LDAP更改密码,您可以使用以下代码示例:

<?php
// LDAP服务器信息
$ldapHost = 'ldap.example.com';
$ldapPort = 389;
$ldapUser = 'cn=admin,dc=example,dc=com';
$ldapPass = 'admin_password';

// 用户信息
$username = 'user1';
$newPassword = 'new_password';

// 连接到LDAP服务器
$ldapConn = ldap_connect($ldapHost, $ldapPort);
ldap_set_option($ldapConn, LDAP_OPT_PROTOCOL_VERSION, 3);

if ($ldapConn) {
    // 绑定管理员用户
    $ldapBind = ldap_bind($ldapConn, $ldapUser, $ldapPass);

    if ($ldapBind) {
        // 搜索用户
        $searchFilter = "(uid=$username)";
        $searchResult = ldap_search($ldapConn, 'dc=example,dc=com', $searchFilter);
        $entry = ldap_first_entry($ldapConn, $searchResult);

        if ($entry) {
            // 获取用户的DN
            $userDN = ldap_get_dn($ldapConn, $entry);

            // 修改密码
            $passwordEntry = array('userPassword' => "{SHA}" . base64_encode(sha1($newPassword, TRUE)));
            $passwordUpdate = ldap_modify($ldapConn, $userDN, $passwordEntry);

            if ($passwordUpdate) {
                echo "密码已成功更改!";
            } else {
                echo "密码更改失败。";
            }
        } else {
            echo "找不到该用户。";
        }
    } else {
        echo "无法绑定到LDAP服务器。";
    }

    // 关闭LDAP连接
    ldap_close($ldapConn);
} else {
    echo "无法连接到LDAP服务器。";
}
?>

请注意,此示例假设您已经安装并配置了LDAP服务器,并且您具有管理员访问权限。您需要将示例中的ldap.example.comdc=example,dc=comcn=admin,dc=example,dc=com替换为您的LDAP服务器的实际值。同时,将user1new_password替换为要更改密码的实际用户名和新密码。

此示例使用SHA哈希算法对密码进行编码。如果您的LDAP服务器使用不同的密码哈希算法,请相应地调整代码。

上一篇:php单元测试上手

下一篇:php文件无法修改时间

大家都在看

php session用法

php 定义常量

phpisset函数

php html转图片

php后端

php爬虫框架

php读取csv文件

php+mysql动态网站开发

phpmyadmin docker

php session id

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站