Ergebnis 1 bis 34 von 34

Thema: LDAP Extension installieren und zum laufen bringen

  1. #1
    Contao-Nutzer
    Registriert seit
    24.06.2016.
    Beiträge
    15

    Standard LDAP Extension installieren und zum laufen bringen

    Hallo zusammen,

    ich benötige dringend Hilfe beim Thema LDAP.

    Ich habe Contao 3.4.5 lokal auf einem Rechner installiert und alles läuft über XAMPP. Backend und Frontend steht, d.h. die Seite ist soweit fertig. Das ganze soll später auch auf einem Server im Netz zum laufen gebracht werden. Bevor das jedoch im Unternehmen produktiv geht, muss noch die LDAP Anbindung her, damit die User sich auf der Homepage mit Ihrem AD Account anmelden können und anschließend auch nur demensprechende Bereiche sehen können.

    Ich habe bereits gegoogelt und auch im Handbuch nachgesehen, konnte aber nichts konstruktives finden. Extension habe ich auch bereits, aber leider keine Ahnung ... steh wie der Ochs vorm Berg

    Hat jemand von euch vielleicht eine Anleitung, oder kann mir erklären wie das genau funktioniert?

    Vielen Dank vorab.

  2. #2
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.507
    User beschenken
    Wunschliste

    Standard

    Hast du nun schon eine Erweiteurng für LDAP oder suchst du noch?
    Ich finde da nur diese https://contao.org/en/extension-list...cation.en.html , nur ist die nicht für Contao 3.4 freigegeben.
    Und du brauchst dafür die PHP LDAP Erweiterung. LDAP Unterstützung ist in PHP im Standard nicht aktiviert. Je nach Betriebssystem aktivieren oder ggf. extra Paket installieren.

    Falls letzteres nicht möglich ist, gibt es da eine noch ältere Erweiterung https://contao.org/de/erweiterungsli...000019.de.html, die ruft per exec() ein externen Programm auf, welches dann die Prüfung durchführt. Dazu muss aber wieder exec() erlaubt sein. Es gibt Hoster bei denen das aus Sicherheitsgründen deaktiviert ist.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  3. #3
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.507
    User beschenken
    Wunschliste

    Standard

    Noch eins gefunden https://github.com/heimrichhannot/contao-ldap noch ganz frisch :-)
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  4. #4
    Contao-Nutzer
    Registriert seit
    24.06.2016.
    Beiträge
    15

    Standard LDAP Extension installieren und zum laufen bringen

    Hallo Bug Buster,

    vielen Dank für deine Hilfe. Ich hatte bereits eine LDAP Erweiterung runtergeladen, habe aber jetzt deine aktuelle genommen.

    Verstehe ich das richtig, dass ich die Erweiterung unter contao/systems/modules/ reinkopieren muss oder unter contao/plugins?

    Wird die Erweiterung dann über die Verwaltung im Backend installiert? Ich habe es versucht, jedoch sagt mir Contao das keine "ldap" Erweiterung vorhanden ist.
    Welche Files müssen angebpasst werden?

    Danke vorab.

  5. #5
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.507
    User beschenken
    Wunschliste

    Standard

    Wenn du die von Github meinst, die muss nach
    Code:
    system/modules/ldap
    Es muss dann also existieren
    Code:
    system/modules/ldap/config/config.php
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  6. #6
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.507
    User beschenken
    Wunschliste

    Standard

    Wenn du das manuell installierst, dann über die Systemwartung den Cache löschen -> "Internen Cache leeren".
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  7. #7
    Contao-Nutzer
    Registriert seit
    24.06.2016.
    Beiträge
    15

    Standard

    Alles klar. Dann werd ich das mal versuchen.

    Danke nochmal

  8. #8
    Contao-Nutzer
    Registriert seit
    24.06.2016.
    Beiträge
    15

    Standard

    Also ich habe es jetzt versucht.

    Erweiterung ins Contaoverzeichnis kopiert.

    Die Verzeichnisstruktur sieht bei mir wiefolgt aus:

    Code:
    system\modules\ldap\classes
    Code:
    system\modules\ldap\config
    Code:
    system\modules\ldap\dca
    Code:
    system\modules\ldap\languages
    Code:
    system\modules\ldap\models
    Code:
    system\modules\ldap\modules
    Einmal über den Weg (Backend) Erweiterungsverwaltung - Erweiterung installieren. Leider sagt Contao das keine LDAP Erweiterung vorhanden ist.
    Dann wollte ich es manuell ausprobieren, als ich dann den internen Cache geleert habe, kam ich nicht mehr ans Backend und auch nicht mehr ans Frontend.... Die Seiten blieben weiß. Gottseidank Backup vorher erstellt.

    Kannst du mir das bitte etwas detailierter erklären? Vielen Dank vorab.

  9. #9
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.507
    User beschenken
    Wunschliste

    Standard

    Soweit so richtig. In der Erweiterungsverwaltung existiert diese neue Erweiterung auch nicht, nur mittels Composer installierbar oder eben manuell.
    Wenn es zur weißen Seite kommt, dann entweder in system/logs/error.log schauen ob da ein Grund für drinsteht oder in der error log vom Webserver.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  10. #10
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.507
    User beschenken
    Wunschliste

    Standard

    Wenn du in Backend kommen solltest, dann bei System - Einstellungen die LDAP Einstellungen definieren.
    Rest ausprobieren, ich kenne die Erweiterung auch nicht länger.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  11. #11
    Contao-Fan Avatar von aadursun
    Registriert seit
    25.09.2011.
    Beiträge
    543

    Standard Gibt es schon Fortschritte?

    Die LDAP Erweiterung wäre für andere auch bestimmt von Interesse.
    Könnten die Testen ihre Install & Config. Erfahrung hier weitergeben.

    VG
    aadursun

  12. #12
    Contao-Urgestein Avatar von folkfreund
    Registriert seit
    09.04.2010.
    Beiträge
    1.928

    Standard

    Zitat Zitat von ICS-Micha Beitrag anzeigen
    Einmal über den Weg (Backend) Erweiterungsverwaltung - Erweiterung installieren. Leider sagt Contao das keine LDAP Erweiterung vorhanden ist.
    Dieses Misverständnis hatten wir schon mal: wenn du die Dateien manuell kopiert hast, dann im Backend NICHT 'Erweiterungsverwaltung - Erweiterung installieren' aufrufen, sondern nur die Datenbank aktualisieren! Das geht alternativ auch über das Installtool.
    Die Meldung "LDAP Erweiterung nicht vorhanden" kommt, da sie im ER nicht gefunden wird. Das ist aber egal, da du sie ja bereits installiert hast.

    Gruß, folkfreund

  13. #13
    Contao-Nutzer
    Registriert seit
    24.06.2016.
    Beiträge
    15

    Standard LDAP Erweiterung installiert

    Also ich bin jetzt soweit, dass ich die LDAP Erweiterung installiert habe und diese auch unter System - Einstellungen sichtbar bzw. die Möglichkeit zur Aktivierung besteht.
    Die Installation habe ich über den Composer gemacht, wie Bug Buster es mir empfohlen hat. (Danke nochmal!)

    Nun versuche ich die LDAP Einstellungen vorzunehmen, aber da scheint irgendwas nicht zu klappen. So sehen diese momentan aus:

    Code:
    Host:
    IP des Servers
    Bind:
    DC=Domain,DC=intern (in meinem Fall meinedomain.intern)
    Port:
    389
    Suchfilter für Personen:
    (&(objectClass=person)(sn=*)(!(objectClass=computer))(!(userAccountControl:1.2.840.113556.1.4.803:=2))
    Suchfilter für Gruppen:
    (objectClass=group)
    Uid Attribut:
    uid
    Verschlüsselung:
    plain bzw. ssl --> habe beides versucht
    Bind DN: (Ldap Anmeldung am Server)
    CN=Administrator,CN=Users,DC=domain,DC=intern
    Passwort:
    password
    Der Port 389 ist über die Firewall freigegeben und Zugriff ist möglich.
    (Weiß ich aus dem Grund, da wir hier noch einen LDAP Server haben der Useranmeldungen für ein Ticketsystem via Webinterface ermöglicht, beide befinden sich in einer Testumgebung)

    Auf dem DC habe ich 2 Testuser angelegt, jedoch kann ich mich mit keinem davon anmelden.
    (komischerweise hieß es zuerst Anmeldung nicht möglich, später nach ein paar Fehlanmeldungen "Ihr Konto wurde gesperrt, Sie können sich erst in 5 Min. wieder anmelden". Das Konto ist aber auf dem DC nicht gesperrt.)

    Muss ich hier noch irgendwas anpassen an der LDAP Erweiterung, oder ggf. im Login Formular?

    Bin für jeden Tipp dankbar...
    Angehängte Grafiken Angehängte Grafiken

  14. #14
    Contao-Nutzer
    Registriert seit
    24.06.2016.
    Beiträge
    15

    Trauriges Gesicht Hilfe LDAP macht mich wahnsinnig!!!!!!!!!!!!!!!!!!

    Hallo an alle!!!!

    IRGENDJEMAND DA DRAUSSEN DER LDAP ZUM LAUFEN GEBRACHT HAT!????

    ICH WERDE WAHNSINNIG....DER MIST WILL EINFACH NICHT LAUFEN UND ICH WEISS NICHT WARUM!

    PLEASE HELP!

    THX.

  15. #15
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.507
    User beschenken
    Wunschliste

    Standard

    Brüllen hilft hier auch nicht weiter.

    Hast du das Frontend Login Modul benutzt von der Erweiterung ? Die bringt eins mit wie ich im Quellcode grad sehe.

    "Ihr Konto wurde gesperrt, Sie können sich erst in 5 Min. wieder anmelden". Das Konto ist aber auf dem DC nicht gesperrt.)
    Nein, aber in Contao wurde es gesperrt. (für 5 Minuten)
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  16. #16
    Administratorin Avatar von lucina
    Registriert seit
    19.06.2009.
    Ort
    Kiel (DE)
    Beiträge
    7.332
    Partner-ID
    152
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von ICS-Micha Beitrag anzeigen
    Hallo an alle!!!!

    IRGENDJEMAND DA DRAUSSEN DER LDAP ZUM LAUFEN GEBRACHT HAT!????

    ICH WERDE WAHNSINNIG....DER MIST WILL EINFACH NICHT LAUFEN UND ICH WEISS NICHT WARUM!

    PLEASE HELP!

    THX.
    Moderation: Hier wird nicht gebrüllt. Wenn Du eine Funktion benötigst, sie selber aber nicht lauffähig bekommst, dann wende Dich bitte an einen Contao-Partner oder stelle einen Auftrag ins Unterforum für Kleinaufträge ein. Und geh vorher joggen.

  17. #17
    Contao-Nutzer
    Registriert seit
    24.06.2016.
    Beiträge
    15

    Computer Sorry...

    Sorry nochmal, aber sitz seit Tagen vor dem Mist und finde den Fehler einfach nicht.

    Brüllen ist sonst nicht meine Art. (Kostet mich aber ordentlich nerven.)

    Ich check das mal mit dem Front End Login Modul der Erweiterung, dass habe ich noch nicht gemacht.

    Thx vorab.



    Sollte ich Fortschritte machen, werde ich diese selbstverständlich hier dokumentieren, damit sich niemand anders an der Sache die Zähne ausbeißen muss.

  18. #18
    Contao-Nutzer
    Registriert seit
    13.02.2012.
    Beiträge
    11

    Standard

    Hallo,

    wir haben den Plugin vor etwa 3 Jahren entwickelt und nur kurz im Einsatz gehabt.
    Damals haben wir darüber einen Mac OpenDirectory Server angesprochen.
    Hier mal die Beispielkonfiguration aus dem damaligen Projekt:

    /system/config/localconfig.php

    PHP-Code:
    $GLOBALS['TL_CONFIG']['ldap'] = false;
    $GLOBALS['TL_CONFIG']['ldap_host'] = '192.168.XXX.XXX';
    $GLOBALS['TL_CONFIG']['ldap_base'] = 'DC=ldap-server,DC=hh,DC=net,DC=foobar,DC=de';
    $GLOBALS['TL_CONFIG']['ldap_port'] = 389;
    $GLOBALS['TL_CONFIG']['ldap_filter'] = '(&(objectClass=person)(objectClass=posixAccount))';
    $GLOBALS['TL_CONFIG']['ldap_uid'] = 'mail';
    $GLOBALS['TL_CONFIG']['ldap_method'] = 'plain';
    $GLOBALS['TL_CONFIG']['ldap_binddn'] = 'UID=[BIND_USER_NAME],CN=users,DC=ldap-server,DC=hh,DC=net,DC=foobar,DC=de';
    $GLOBALS['TL_CONFIG']['ldap_password'] = '[BIND_USER_PASSWORD';
    $GLOBALS['TL_CONFIG']['ldap_filter_person'] = '(&(objectClass=person)(objectClass=posixAccount)(mail=*@heimrich-hannot.de))';
    $GLOBALS['TL_CONFIG']['ldap_filter_group'] = '(&(cn=groups))';
    $GLOBALS['TL_CONFIG']['ldap_groups'] = '';
    $GLOBALS['TL_CONFIG']['ldap_uid_skip'] = 'root,admin,diradmin'
    Vielleicht hilft das ja. Generell sollte das Login-Modul entsprechend verwendet werden und die Verbindung mit dem BIND_USER muss möglich sein.

    Viel Erfolg.

  19. #19
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.492

    Standard

    https://community.contao.org/de/show...DAP-Auth-Modul

    Ich verweise mal auf den Threadt. Dort findest du meine Unter 3.5.14 im Einsatzbefindliche Variante.

    Das Modul gleicht ab, ob der Nutzer im Ldap Existiert. WEnn ja legt er einen neuen Nutzer in Contao an. Wenn nein.. Zugriff verweigert.

  20. #20
    Contao-Nutzer
    Registriert seit
    24.06.2016.
    Beiträge
    15

    Daumen hoch

    Vielen Dank fatcrobat und acta für eure Hilfe.

    Ich werde versuchen das mal umzusetzen.

    Bin in Sachen Contao bzw. CMS noch recht "grün" hinter den Ohren, aber was nich is kann ja noch werden.

  21. #21
    Contao-Nutzer
    Registriert seit
    24.06.2016.
    Beiträge
    15

    Standard LDAP

    @Acta - nochmals danke für den Link auf den Thread.
    Ich habe mir dein LDAP Modul runtergeladen und in mein bestehendes Contao eingebaut.

    Leider funktioniert es leider immer noch nicht.

    Ich poste mal die Konfiguration:

    ldap.php

    PHP-Code:
     //*************************
     // LDAP-Authentification
     //*************************
     
    class ldap extends Backend {

    public function 
    checkCredentials($strUsername,$strPassword) {
        if (
    $GLOBALS['TL_CONFIG']['pl_ldap']==true) {
        
    $ldaphost strval($GLOBALS['TL_CONFIG']['pl_ldap_server']);
        
    $ldapport intval($GLOBALS['TL_CONFIG']['pl_ldap_port']);
        
    $ldapdomain strval($GLOBALS['TL_CONFIG']['pl_ldap_domain']);
        
    $ds ldap_connect($ldaphost$ldapport) or die("Could not connect to $ldaphost");
        if (
    $ds) {
            
    $binddn $strUsername."@".$ldapdomain;
            
    $ldapbind = @ldap_bind($ds$binddnutf8_decode($strPassword));
            if (
    $ldapbind) return true;
            else return 
    false;
            
    ldap_close($ds);
        }
        else {
            return 
    false;
            }
     }
     }



    //******************
    // LDAP-Import
    //******************


    public function importUser($strUsername$strPassword$strTable)
    {
    if (
    $GLOBALS['TL_CONFIG']['pl_ldapimport']==true) {

    // Import only for member authentication (not for user authentication)
        
    if ($strTable == 'tl_member')
        {
            
    //Connect to LDAP host
                
    if ($GLOBALS['TL_CONFIG']['pl_ldap']==true) {
                    
    $ldaphost strval($GLOBALS['TL_CONFIG']['pl_ldap_server']);
                    
    $ldapport intval($GLOBALS['TL_CONFIG']['pl_ldap_port']);
                    
    $ldapdomain strval($GLOBALS['TL_CONFIG']['pl_ldap_domain']);
                    
    $ds ldap_connect($ldaphost$ldapport) or die("Could not connect to $ldaphost");
                     
    // Protokoll und Options setzen
                    
    ldap_set_option($dsLDAP_OPT_REFERRALS0);
                    
    ldap_set_option($dsLDAP_OPT_PROTOCOL_VERSION3);
            
            
    //Try bind to LDAP host
                    
    if ($ds) {
                        
    $binddn $strUsername."@".$ldapdomain;
                        
    $ldapbind = @ldap_bind($ds$binddnutf8_decode($strPassword));
                        if (
    $ldapbind) {
                        
            
    //Read data from LDAP
                        
    $filter="(sAMAccountName=$strUsername)";
                        
    //$basedn="ou=Benutzerkonten, dc=plauen, dc=dom";
                        
    $basedn=strval($GLOBALS['TL_CONFIG']['pl_ldapimport_basedn']);
                        
    $sr ldap_search($ds$basedn ,"$filter");
                        
    $info ldap_get_entries($ds$sr);
                        
    $strFullName=$info[0]["cn"][0];
                        
    $parts=explode(", ",$strFullName);
                        if (
    $parts[1]) {
                            
    $strFName $parts[1];
                        };
                        
    $strName $info[0]["sn"][0];
                        
    $strMail=$info[0]["mail"][0];
            
            
    // Write data to the typolight database
                    
    $objNewUser=$this->Database->prepare("INSERT INTO tl_member SET tstamp=?, firstname=?, lastname=?, login=?, username=?, password=?, email=?, language=?, dateAdded=?")
                                                               ->
    execute(time(), utf8_encode($strFName), utf8_encode($strName), 1$strUsernametime(), $strMail"de"time());
                                   
            
    // Send Email to Admin
                        
    $objEmail = new Email();
                        
    $objEmail->from $GLOBALS['TL_ADMIN_EMAIL'];
                        
    $objEmail->subject sprintf('Neues Mitglied im Mitarbeiterportal erzeugt: 'utf8_encode($strFName) . " " utf8_encode($strName));
                        
    $objEmail->sendTo($GLOBALS['TL_ADMIN_EMAIL']);
            
            
    //Log-entry for new member
            
    $this->log('Neues Mitglied - ' $strUsername ' - wurde erzeugt''ldapimport importUser()'TL_ACCESS);
                                   
            
    //Success -> return true and close the LDAP-connection
                        
    return true;
                        
    ldap_close($ds);
                        }
                        
            
    // No success --> return false and close the LDAP-connection
                    
    else return false;
                    
    ldap_close($ds);
                    }
                }
        }

    }
    }
    ?> 
    autoload.php

    PHP-Code:
    <?php

    /**
     * Contao Open Source CMS
     *
     * Copyright (c) 2005-2016 Leo Feyer
     *
     * @license LGPL-3.0+
     */


    /**
     * Register the namespaces
     */
    ClassLoader::addNamespaces(array
    (
        
    'HeimrichHannot',
        
    'heimrichhannot',
    ));


    /**
     * Register the classes
     */
    ClassLoader::addClasses(array
    (
        
    // Classes
        
    'HeimrichHannot\Ldap'                 => 'system/modules/ldap/classes/Ldap.php',
        
    'HeimrichHannot\LdapMember'           => 'system/modules/ldap/classes/LdapMember.php',
        
    'HeimrichHannot\LdapMemberGroup'      => 'system/modules/ldap/classes/LdapMemberGroup.php',
        
    'ldap'                                => 'system/modules/ldap/ldap.php',

        
    // Models
        
    'HeimrichHannot\LdapMemberGroupModel' => 'system/modules/ldap/models/LdapMemberGroupModel.php',
        
    'HeimrichHannot\LdapMemberModel'      => 'system/modules/ldap/models/LdapMemberModel.php',

        
    // Modules
        
    'heimrichhannot\ModuleLdapLogin'      => 'system/modules/ldap/modules/ModuleLdapLogin.php',
    ));
    ModuleLdapLogin.php

    PHP-Code:
    <?php

    namespace heimrichhannot;

    class 
    ModuleLdapLogin extends \ModuleLogin
    {
        protected 
    $isUserNameEmail false;

        
    /**
         * Store Login Module ID in Session, required by LdapAuth (Module config)
         * @return string
         */
        
    public function generate()
        {
            
    // Login
            
    if (\Input::post('FORM_SUBMIT') == 'tl_login')
            {
                if (\
    Input::post('username'true) && \Input::post('password'true))
                {
                    
    $objMember = \MemberModel::findBy('username', \Input::post('username'true));

                    if(
    $objMember !== null)
                    {
                        
    // always reset the password to a random value, otherwise checkCredentialsHook will never be triggered
                        
    LdapMember::resetPassword($objMember, \Input::post('username'true));
                    }
                }
                
                
    // validate email
                
    if($GLOBALS['TL_CONFIG']['ldap_uid'] == 'mail' && !\Validator::isEmail(\Input::post('username'true)))
                {
                    \
    Message::addError($GLOBALS['TL_LANG']['ERR']['email']);
                    
    $this->reload();
                }
            }

            
    $strParent parent::generate();

            return 
    $strParent;
        }

        protected function 
    compile()
        {
            
    parent::compile();

            if(
    $GLOBALS['TL_CONFIG']['ldap_uid'] == 'mail')
            {
                
    $this->Template->username $GLOBALS['TL_LANG']['MSC']['usernamemail'];
            }
        }


    }
    localconfig.php

    PHP-Code:
    ### INSTALL SCRIPT START ###
    $GLOBALS['TL_CONFIG']['licenseAccepted'] = true;
    $GLOBALS['TL_CONFIG']['installPassword'] = '$2y$10$XkEhHkkeOgL/sUpFa3tDTudfef91nLp9nMr1nuJ5ibOiFajlLjdI.';
    $GLOBALS['TL_CONFIG']['encryptionKey'] = '87cdb4d7614b94e5eb1cac3a160b7f3a';
    $GLOBALS['TL_CONFIG']['dbDriver'] = 'MySQL';
    $GLOBALS['TL_CONFIG']['dbHost'] = 'localhost';
    $GLOBALS['TL_CONFIG']['dbUser'] = 'root';
    $GLOBALS['TL_CONFIG']['dbPass'] = 'password';
    $GLOBALS['TL_CONFIG']['dbDatabase'] = 'contao';
    $GLOBALS['TL_CONFIG']['dbPconnect'] = false;
    $GLOBALS['TL_CONFIG']['dbCharset'] = 'UTF8';
    $GLOBALS['TL_CONFIG']['dbPort'] = 3306;
    $GLOBALS['TL_CONFIG']['dbSocket'] = '';
    $GLOBALS['TL_CONFIG']['inactiveModules'] = 'a:1:{i:0;s:10:"repository";}';
    $GLOBALS['TL_CONFIG']['ldap'] = true;
    $GLOBALS['TL_CONFIG']['ldap_host'] = 'EXT. IP ADRESSE DES SERVER';
    $GLOBALS['TL_CONFIG']['ldap_base'] = 'DC=HOSTNAME VOM LDAP,DC=mydomain,DC=intern,OU=Users';
    $GLOBALS['TL_CONFIG']['ldap_port'] = 389;
    $GLOBALS['TL_CONFIG']['ldap_filter'] = '(&(objectClass=person)(objectClass=posixAccount))';
    $GLOBALS['TL_CONFIG']['ldap_filter_person'] = '(&(objectClass=person)(objectClass=posixAccount)';
    $GLOBALS['TL_CONFIG']['ldap_filter_group'] = '(&(cn=groups))';
    $GLOBALS['TL_CONFIG']['ldap_groups'] = '';
    $GLOBALS['TL_CONFIG']['ldap_uid_skip'] = '';
    $GLOBALS['TL_CONFIG']['ldap_uid'] = 'uid';
    $GLOBALS['TL_CONFIG']['ldap_method'] = 'plain';
    $GLOBALS['TL_CONFIG']['ldap_binddn'] ='CN=Administrator,UID=Administrator,DC=HOSTNAME VOM LDAP,OU=Users,CN=Users,DC=mydomain,DC=intern';
    $GLOBALS['TL_CONFIG']['ldap_password'] = 'BIND DN PASSWORD';
    $GLOBALS['TL_CONFIG']['adminEmail'] = 'admin@email.com';
    $GLOBALS['TL_CONFIG']['maintenanceMode'] = false;
    $GLOBALS['TL_CONFIG']['useSMTP'] = false;
    $GLOBALS['TL_CONFIG']['latestVersion'] = '3.5.14';
    $GLOBALS['TL_CONFIG']['defaultUser'] = 1;
    ### INSTALL SCRIPT STOP ### 
    Wenn ich versuche mich anzumelden (mit dem Bind DN Admin, ebenfalls das gleiche mit einem Testuser der im AD vorhanden ist), kommt keine Fehlermeldung mehr sondern die Seite bleibt jetzt weiß.
    (Vorher hieß es im Log Could not find user "Administrator")
    Jetzt gibt es auch keine aktuelle Meldung im Log das irgendwas passiert ist...

    Den Bind DN werde ich natürlich wenns produktiv geht gegen einen anderen User ersetzen der nur Leserechte aufs AD hat.

    Vielleicht findest du den Fehler oder kannst mir noch einen Rat geben? Many THX für eure Hilfe und Geduld.

  22. #22
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.507
    User beschenken
    Wunschliste

    Standard

    Im Backend die Fehlermeldung einschalten dann siehst du eventuell die Fehlermeldung. Und/Oder in system/logs/error.log schauen.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  23. #23
    Contao-Nutzer
    Registriert seit
    24.06.2016.
    Beiträge
    15

    Standard

    folgende FM habe ich in der error.log stehen:

    [30-Jun-2016 14:07:30 Europe/Berlin] PHP Fatal error: Class 'ldap' not found in C:\xampp\htdocs\contao\system\modules\core\library \Contao\System.php on line 124

    [30-Jun-2016 14:07:40 Europe/Berlin]
    PHP Warning: in_array() expects parameter 2 to be array, null given in C:\xampp\htdocs\contao\system\modules\core\library \Contao\System.php on line 124
    #0 [internal function]: __error(2, 'in_array() expe...', 'C:\\xampp\\htdocs...', 124, Array)
    #1 C:\xampp\htdocs\contao\system\modules\core\library \Contao\System.php(124): in_array('getInstance', NULL)
    #2 C:\xampp\htdocs\contao\system\modules\core\library \Contao\User.php(241): Contao\System->import('ldap', 'objImport', true)
    #3 C:\xampp\htdocs\contao\system\modules\core\classes \FrontendUser.php(199): Contao\User->login()
    #4 C:\xampp\htdocs\contao\system\modules\core\modules \ModuleLogin.php(107): Contao\FrontendUser->login()
    #5 C:\xampp\htdocs\contao\system\modules\ldap\modules \ModuleLdapLogin.php(37): Contao\ModuleLogin->generate()
    #6 C:\xampp\htdocs\contao\system\modules\core\library \Contao\Controller.php(310): heimrichhannot\ModuleLdapLogin->generate()
    #7 C:\xampp\htdocs\contao\system\modules\core\pages\P ageRegular.php(129): Contao\Controller::getFrontendModule(Object(Contao \ModuleModel), 'left')
    #8 C:\xampp\htdocs\contao\system\modules\core\control lers\FrontendIndex.php(250): Contao\PageRegular->generate(Object(Contao\PageModel), true)
    #9 C:\xampp\htdocs\contao\index.php(20): Contao\FrontendIndex->run()
    #10 {main}

    System.php Zeile 214
    PHP-Code:
    $this->arrObjects[$strKey] = (in_array('getInstance'get_class_methods($strClass))) ? call_user_func(array($strClass'getInstance')) : new $strClass(); 
    User.php Zeile 241
    PHP-Code:
    $this->import($callback[0], 'objImport'true); 
    FrontEndUser.php Zeile199
    PHP-Code:
    if (parent::login() == false
    ModuleLogin.php Zeile 107
    PHP-Code:
    if ($this->User->login()) 
    ModuleLdapLogin.php Zeile 37
    PHP-Code:
    $strParent parent::generate(); 
    Controller.php Zeile 310
    PHP-Code:
    $strBuffer $objModule->generate(); 
    PageRegular.php Zeile 129
    PHP-Code:
    $this->Template->$arrModule['col'] .= $this->getFrontendModule($arrModule['mod'], $arrModule['col']); 
    FrontEndIndex.php Zeile 250
    PHP-Code:
    $objHandler->generate($objPagetrue); 
    index.php Zeile 20
    PHP-Code:
    $controller->run(); 

    Wiedermal steht der Ochs vorm Berg.
    Die Nummer wächst mir über den Kopf

    Wenn mich hier jemand retten kann, dann dank ohne Ende...

    GRüße,
    ICS-Micha

  24. #24
    Contao-Nutzer
    Registriert seit
    24.06.2016.
    Beiträge
    15

    Standard

    @Acta:

    Acta

    https://community.contao.org/de/show...DAP-Auth-Modul

    Ich verweise mal auf den Threadt. Dort findest du meine Unter 3.5.14 im Einsatzbefindliche Variante.

    Das Modul gleicht ab, ob der Nutzer im Ldap Existiert. WEnn ja legt er einen neuen Nutzer in Contao an. Wenn nein.. Zugriff verweigert.

    Ich habe das Modul (ldap.zip) eingebaut, mit demensprechenden Anpassungen. Dumme Frage, aber ist das so wie es im Betrag eingefügt ist auch komplett lauffähig?
    Nutzer Membaris hats ja scheinbar damit geschafft

    Ich bin glaub ich zu dämlich dafür....wie gesagt, bin weiterhin für jede Hilfe dankbar.....

  25. #25
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.507
    User beschenken
    Wunschliste

    Standard

    PHP Fatal error: Class 'ldap' not found
    Hast du wie in dem anderem Thread beschrieben dem autoload creator gestartet für diese Erweiterung?
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  26. #26
    Contao-Nutzer
    Registriert seit
    24.06.2016.
    Beiträge
    15

    Standard

    Also ich hab im Backend unter Autoload Creator für die ldap extension eine autoload Datei erstellt. Die alte wurde dabei überschrieben. Kann das der Grund sein?

    Gesendet von meinem SM-G925F mit Tapatalk

  27. #27
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.507
    User beschenken
    Wunschliste

    Standard

    Dann mach mal noch eine Systemwartung -> Internen Cache leeren
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  28. #28
    Contao-Nutzer
    Registriert seit
    24.06.2016.
    Beiträge
    15

    Standard

    Hab ich gerade gemacht... no effect...

    Ich glaube langsam wäre es besser, wenn ich auf ein anderes CMS umsteige...

  29. #29
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.507
    User beschenken
    Wunschliste

    Standard

    und es kommt immer noch die Meldung das die ldap Klasse nicht gefunden wird?
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  30. #30
    Contao-Nutzer
    Registriert seit
    24.06.2016.
    Beiträge
    15

    Standard

    Ja die Meldung ist die gleiche.

    [01-Jul-2016 11:02:32 Europe/Berlin] PHP Fatal error: Class 'ldap' not found in C:\xampp\htdocs\contao\system\modules\core\library \Contao\System.php on line 124

    [01-Jul-2016 11:08:27 Europe/Berlin]
    PHP Warning: in_array() expects parameter 2 to be array, null given in C:\xampp\htdocs\contao\system\modules\core\library \Contao\System.php on line 124
    #0 [internal function]: __error(2, 'in_array() expe...', 'C:\\xampp\\htdocs...', 124, Array)
    #1 C:\xampp\htdocs\contao\system\modules\core\library \Contao\System.php(124): in_array('getInstance', NULL)
    #2 C:\xampp\htdocs\contao\system\modules\core\library \Contao\User.php(241): Contao\System->import('ldap', 'objImport', true)
    #3 C:\xampp\htdocs\contao\system\modules\core\classes \FrontendUser.php(199): Contao\User->login()
    #4 C:\xampp\htdocs\contao\system\modules\core\modules \ModuleLogin.php(107): Contao\FrontendUser->login()
    #5 C:\xampp\htdocs\contao\system\modules\ldap\modules \ModuleLdapLogin.php(37): Contao\ModuleLogin->generate()
    #6 C:\xampp\htdocs\contao\system\modules\core\library \Contao\Controller.php(310): heimrichhannot\ModuleLdapLogin->generate()
    #7 C:\xampp\htdocs\contao\system\modules\core\pages\P ageRegular.php(129): Contao\Controller::getFrontendModule(Object(Contao \ModuleModel), 'left')
    #8 C:\xampp\htdocs\contao\system\modules\core\control lers\FrontendIndex.php(250): Contao\PageRegular->generate(Object(Contao\PageModel), true)
    #9 C:\xampp\htdocs\contao\index.php(20): Contao\FrontendIndex->run()
    #10 {main}


    [01-Jul-2016 11:08:27 Europe/Berlin] PHP Fatal error: Class 'ldap' not found in C:\xampp\htdocs\contao\system\modules\core\library \Contao\System.php on line 124

  31. #31
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.507
    User beschenken
    Wunschliste

    Standard

    Und noch was. Du hast aber hoffentlich nicht die ldap.zip aus dem Forum hier über die aus dem ER installiert? Denn dann hättest du völligen Mischmasch.
    Ich komme drauf, weil die schriebst, die autoload.php wäre überschrieben worden, das kann bei der Forum Version gar nicht sein, da ist gar keine bei, es sei denn du hättest das vorher auch schon mal aufgerufen.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  32. #32
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.507
    User beschenken
    Wunschliste

    Standard

    Aha, anhand der Meldung arbeitest du wieder mit der ersten Variante. Warum?
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  33. #33
    Contao-Nutzer
    Registriert seit
    24.06.2016.
    Beiträge
    15

    Standard

    Ich habe mal wieder Probleme gehabt, als ich den interen Cache gelöscht habe das plötzlich alles wieder "weiß" geblieben ist und ich keinen Zugriff mehr hatte weder Front noch Backend.

    Hab dann n Backup eingespielt, daher wahrscheinlich 1. Variante.

    Ich denke, ich werde mit dem LDAP Modul nochmal von vorne beginnen, da ich langsam den Überblick verliere.

    P.S.: Ach ja und ich war so dumm und habe die Zip aus dem Forum installiert

  34. #34
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.492

    Standard

    Jetzt erst gelesen da ich keine Meldung bekommen hatte!

    Ja die Version ist lauffähig. Habe diese selbst unter Contao 3.5.14 im Einsatz.

    Einfach das zip entpacken und unter System/modules ablegen

    Dann via contao/install mal checken ob alle Tabellen angelegt wurden.

    Danach Autoload erstellen

    Dann in den Einstellungen von Contao die entsprechenden Daten deines LDAP eintragen.

    Danach kanns normal im Frontend einloggen. Bei mir ist es so: Beim ersten Login wird der User angelegt. Der nutzer bekommt glaube ich erst nen fehlgeschlagenen Login (user ja nicht vorhanden) beim zweiten mal erfolgt dann der Erfolgreiche Login. Auch eine Anmeldung als Backenduser ist möglich. Diese werden jedoch nicht automatisch erstellt.
    Angehängte Dateien Angehängte Dateien

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •