Ich habe Probleme mit der LDAP-Authentifizierung in einem Symfony-Projekt.Symfony3 LDAP-Authentifikation Anmeldeinformationen binden
Mein Service sieht wie folgt aus:
ldap:
class: Symfony\Component\Ldap\Ldap
factory: ['Symfony\Component\Ldap\Ldap', 'create']
arguments:
- 'ext_ldap'
- host: 'ldap.example.com'
Der binden und ein Beispiel-Abfrage an den LDAP-Server arbeiten gut:
$ldap = $this->get('ldap');
$ldap->bind('binduser', 'bindpw');
$query = $ldap->query('OU=MyBusiness,DC=example,DC=com', 'sAMAccountName=xxx');
Jetzt habe ich gegen den LDAP-Server authentifizieren möchten. Ich habe die Firewall-Einstellungen von http://symfony.com/doc/current/security/ldap.html#configuration-example-for-form-login verwendet. Aber die große Frage ist, wo man die Bindungsnachweise hier setzt?
Der entsprechende Protokolleintrag ist hier:
php.DEBUG: Warning: ldap_bind(): Unable to bind to server: Invalid credentials
So ist es ziemlich offensichtlich, was fehlt, aber ich konnte nicht einen Weg, um die Bindeanmeldeinformationen form_login_ldap finden.
Die Referenz auf http://symfony.com/doc/current/reference/configuration/security.html zeigt auch nicht, wie Sie sie bereitstellen.
Danke!
Hallos dieses folgende getan werden kann, ohne die Benutzer, die ihre Anmeldeinformationen in dem Login-Formular eingeben, werden nicht an den LDAP-Server zu binden. Es gibt einen bestimmten Benutzer, der sich mit dem LDAP-Server verbinden darf und mit dem ich die Abfragen ausführen kann. Die Grundvoraussetzung für dieses Projekt ist, dass es zwei Benutzerverzeichnisse gibt. (Zumindest muss ich es mit zwei Benutzerverzeichnissen lösen) – marcus
dann kann man 'form_login_ldap' nicht verwenden. Sie sollten Ihr eigenes System implementieren. werfen Sie einen Blick auf diese http://symfony.com/doc/current/security/custom_password_authenticator.html – ste
Okay - ja je mehr ich lese und teste, desto mehr merke ich, dass ich meinen eigenen Authentifikator schreiben muss. Danke für Ihre Unterstützung;) – marcus