0

私はLDAPにこのユーザーを持っています: uid=user,ou=People,dc=ex,dc=com LDAPサーバーに接続します

$con = ldap_connect('ldap://ex.com');
ldap_set_option($con, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($con, LDAP_OPT_REFERRALS, 0);

ldap_sasl_bind でバインドしてみます:

ldap_sasl_bind($con, 'uid=user,ou=People,dc=ex,dc=com', 'secret', 'DIGEST-MD5');

動作しない - 「資格情報が無効です」

ldap_sasl_bind($con, NULL, 'secret', 'DIGEST-MD5', NULL, 'uid=user,ou=People,dc=ex,dc=com');

同じ結果 - 「無効な資格情報」

ldap_bind($con, 'uid=user,ou=People,dc=ex,dc=com', 'secret')

元気に働く

4

1 に答える 1

1

DIGEST-MD5のようなセキュリティの低いSASLメソッドを使用する場合、サーバーは、識別名で指定されたエントリから平文のパスワードを取得できなければなりません。これは、パスワードをクリア テキストまたは可逆暗号化で保存する必要があることを意味します (これにより、エントリのセキュリティが低下します。これは、DIGEST-MD5 がセキュリティが低いと見なされ、LDAP クライアントから要求されない限り避ける必要がある理由の 1 つです。LDAP クライアントは、安全な接続)。

uid=user,ou=People,dc=ex,dc=comのエントリのパスワードがサーバーで使用可能であることを確認してくださいsecret。つまり、パスワードの保存スキームが、上記のようにクリアテキストまたは可逆暗号化のいずれかであることを確認してください。可逆暗号化を使用する場合は、最も強力な方法を使用する必要があります。これはAESだと思います。

于 2012-11-16T10:44:03.120 に答える