adldap2 laravel它只返回'false'

时间:2019-04-23 01:04:53

标签: php laravel ldap openldap adldap

我正在尝试使用adldap2访问adldap server

服务器一切正常,我已经使用Apache Directory Studio对其进行了测试。

I have followed all these instructions,但没有成功。我所有的请求都返回“ false”或一个空集合。

我在做什么错了?

这是我的文件:

# \config\ldap.php 
return [

    'logging' => env('LDAP_LOGGING', false),

    'connections' => [

        'default' => [

            'auto_connect' => env('LDAP_AUTO_CONNECT', true),

            'connection' => Adldap\Connections\Ldap::class,

            'settings' => [

                'schema' => Adldap\Schemas\ActiveDirectory::class,

                'account_prefix' => env('LDAP_ACCOUNT_PREFIX', ''),

                'account_suffix' => env('LDAP_ACCOUNT_SUFFIX', ''),

                'hosts' => explode(' ', env('LDAP_HOSTS', 'ldap.forumsys.com')),

                'port' => env('LDAP_PORT', 389),

                'timeout' => env('LDAP_TIMEOUT', 5),

                'base_dn' => env('LDAP_BASE_DN', 'dc=example,dc=com'),

                'username' => env(' cn=read-only-admin,dc=example,dc=com'),
                'password' => env('password'),

                'follow_referrals' => false,

                'use_ssl' => env('LDAP_USE_SSL', false),
                'use_tls' => env('LDAP_USE_TLS', false),

            ],

        ],

    ],

];

要直接使用web.php测试我,

<?php

use Adldap\Laravel\Facades\Adldap;

Route::get('/api', function(){

    $user = Adldap::search()->users()->find('newton');
    dd($user);
    return 'test page';
});

这是我的回复错误

false response result

1 个答案:

答案 0 :(得分:0)

如果您的查询或LDAP设置中存在错误,通常会返回“ false”。您可以尝试使用ldap_error函数来获取错误。

在adldab2中,您的Provider

中的Connection中应该有一个方法
$ad = new \Adldap\Adldap();
$config = [...]; // your config
$ad->addProvider($config);
$provider = $ad->connect();
// do your query stuff
$provider->getConnection()->getLastError()