3

しばらくの間、認証のために Active Directory サーバーへの LDAP 接続をいじっています。これをPHPネイティブの方法で試し、Zend Frameworkも使用しました。正常にldap_connect()動作しますが、何かをバインドするとすぐに、ldapConnection が壊れているように見えます。これは私が試したスクリプトです

error_reporting(E_ALL | E_STRICT);
putenv('LDAPTLS_REQCERT=never');

$ldapcon = ldap_connect("FQSN", 636);

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

$anon = ldap_bind($ldapcon, "CN=WebTestuserAW,OU=Benutzer,OU=DOM,DC=dom,DC=de", "Sommer2012");
//also tried: 
//$anon = ldap_bind($ldapcon, 'WebTestuserAW@dom.de', 'Sommer2012');

echo ldap_error($ldapcon);

上記を使用すると、Can't contact LDAP server が表示されます。を実行するとvar_dump($ldapcon)、リソース リンクが返されます。Zend Framework アプローチを使用して接続しようとすると、いくつかの追加の接続パラメーターが指定されるため、エラーにさらにヒントが含まれる場合があります。

2012-11-12T14:37:39+01:00 DEBUG (7): Ldap: 1: host=FQHN,port=636,bindRequiresDn=1,baseDn=OU=Benutzer,OU=DOM,DC=dom,DC=de,accountFilterFormat=(sAMAccountName=%s),useSsl=1,useStartTls=,accountDomainName=dom.de,username=CN=WebTestuserAW,password=*****
2012-11-12T14:37:39+01:00 DEBUG (7): Ldap: 2: /var/www/html/login/library/Zend/Ldap.php(850): 0x1: Failed to retrieve DN for account: stosic@dvv.de [0x51 (Can't contact LDAP server): ldaps://FGHN:636]
2012-11-12T14:37:39+01:00 DEBUG (7): Ldap: 3: #0 /var/www/html/login/library/Zend/Auth/Adapter/Ldap.php(316): Zend_Ldap->bind('username@dom.de', '*****')

私は真剣に、もう手がかりがありません。私はグーグルで検索し、LDAP-Protocol Versions で少し遊んで、証明書の要求オプションで遊んでみましたが、何も役に立ちませんでした。サーバーへの接続自体は機能ldap_connectしますが、何かをバインドするとすぐに機能しなくなります。これは、匿名バインドにも当てはまります。

オフィスでは、誰も何の手がかりも持っていません。ですから、私がまだ試すことができることについて何か提案があれば、私はそれをとても嬉しく思います! 前もって感謝します。

追加情報:

  • サーバーの LDAP 構成:
    • LDAP サポートが有効
    • RCS バージョン $Id: ldap.c 299434 2010-05-17 20:09:42Z pajoye $
    • 総リンク数 0/無制限
    • API バージョン 3001
    • ベンダー名 OpenLDAP
    • ベンダー バージョン 20343
    • SASL サポート有効
  • ldap:// と ldaps:// の両方がテスト済み
  • ldap_connect() はリソース リンクを返します
  • ldap_bind() が機能せず、ldap_errno() が -1 を返す (LDAP サーバーに接続できない)
  • LDAPTLS_REQCERT および TLS_REQCERT
4

1 に答える 1

2

デフォルトでは、ldaps は AD で有効になっていません。ポート 389 経由で接続しようとしましたか? LDAP ツール ( Apache Directory Studioなど) を使用して接続できますか?

それが機能しない理由についての私の推測です...しかし、DCのFQDN、またはおそらくIPも使用してみてください。

于 2012-11-12T14:57:04.620 に答える