php ldap

php支持ldap接入,但是需要安装php-ldap扩展。安装很简单这里不再赘述。

以下是我在yii框架内实现的ldap测试代码,除了日志记录,其它的都是原生代码。

示例代码

public function actionTestLdap()
    {
        $serverAddr = '10.1.1.1';
        $pswd = '123456';
        $dn = 'cn=admin01,ou=peo,dc=110,dc=com';

        try{
            $adConn = ldap_connect($serverAddr);

            ldap_set_option($adConn, LDAP_OPT_PROTOCOL_VERSION, 3);
            ldap_set_option($adConn, LDAP_OPT_REFERRALS,0);

            $adBind = ldap_bind($adConn, $dn, $pswd);
            //return $adBind; //若只是校验账户信息是否正确,在此处返回也可以达到校验的目的

            $filter = "(cn=*)";
            $adSearch = ldap_search($adConn, $dn, $filter);

            $infos = ldap_get_entries($adConn, $adSearch);
            print_r($infos);
        } catch (\Exception $e) {
            $msg = "error code:". $e->getCode() .",error message:". $e->getMessage();
            Yii::warning($msg);
            return false;
        }
    }

在调试的时候遇到了不少的问题,下面是问题记录:

Error: ldap_bind(): Unable to bind to server: Invalid DN syntax
	ldap_bind参数有问题


Error: ldap_bind(): Unable to bind to server: Protocol error
	添加配置项ldap_set_option($adConn, LDAP_OPT_PROTOCOL_VERSION, 3);


Error: ldap_bind(): Unable to bind to server: Invalid credentials
	ldap_bind参数有问题


Error: ldap_search(): Search: No such object
	ldap_search参数有问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值