LDAP,AD Einschränkung auf Gruppen

You have a suggestion for a future version of phpMyFAQ? Then post it here!

Moderator: Thorsten

Peppy
Posts: 8
Joined: Thu Nov 18, 2010 11:18 am

LDAP,AD Einschränkung auf Gruppen

Post by Peppy »

Es wäre schön, wenn man LDAP bzw. AD Benutzer nur aus bestimmten Gruppen zulassen kann und das in der config/ldap.php einstellen kann.
Wir haben die inc/Ldap.php dafür jetzt selbst abgeändert, indem wir den Wert memberOf aus dem AD auslesen.
Es wurde

Code: Select all

$filter = "(" . $PMF_LDAP['ldap_mapping']['username'] . "=" . $username . ")";
in

Code: Select all

$filter = "(&(" . $PMF_LDAP['ldap_mapping']['username'] . "=" . $username . ")(memberOf=CN=it-service,OU=gebaeude-xyz,DC=ad,DC=server,DC=de))";
abgeändert.
Recht einfache Änderung, mit der sich nur bestimmte AD Benutzer anmelden können.
Thorsten
Posts: 15560
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Re: LDAP,AD Einschränkung auf Gruppen

Post by Thorsten »

Hi,

ich schau mal, wie ich das konfigurierbar in die nächste Version bekomme. Würdest du dich da als Tester bereitstellen?

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
Peppy
Posts: 8
Joined: Thu Nov 18, 2010 11:18 am

Re: LDAP,AD Einschränkung auf Gruppen

Post by Peppy »

Klar, würde ich machen.
Thorsten
Posts: 15560
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Re: LDAP,AD Einschränkung auf Gruppen

Post by Thorsten »

Hi,

hier die Änderung für die 2.7, sollte so aber auch in der 2.6 funktionieren:

https://github.com/thorsten/phpMyFAQ/co ... 9c585712ad

Feedback wäre klasse!

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
Compuman
Posts: 17
Joined: Wed Feb 04, 2009 11:58 am
Location: Germany-Essen

Re: LDAP,AD Einschränkung auf Gruppen

Post by Compuman »

Hallo Thorsten,

Wenn ich die Dateien nach deinen Vorgaben abänder kann ich mich nicht mehr mit meinem LDAP User am FAQ anmelden.
Wenn ich die alten Dateien zurückspiele geht es.

folgender Fehler wird dabei "unsauber" angezeigt ( Unterhalb des Anmeldefensters):
Möchten Sie sich anmelden?

1 Besucher online"; //"One User online" is also possible, since sprintf just ignores extra ar :: 1 Gast und 0 Registrierte


Hast du einen Tip?

Zum System:
phpMyFAQ Version phpMyFAQ 2.6.11
Server Software Microsoft-IIS/7.5
PHP Version PHP 5.2.14
Register Globals off
Safe Mode off
Open Basedir off
Database Server Mssql


Geänderte Wert in der Constants_ldap.php:
// Option for adding a check on LDAP groups
// Default: false
$PMF_LDAP['ldap_use_memberOf'] = true;
$PMF_LDAP['ldap_mapping']['memberOf'] = 'MAL_L_FAQ-KSP_R';
Es grüßt freundlich

Markus
Thorsten
Posts: 15560
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Re: LDAP,AD Einschränkung auf Gruppen

Post by Thorsten »

Hi,

mit der 2.6.11 wird so nicht ganz funktionieren, da gabs schon zwischenzeitlich Änderungen in der 2.6.12 und 2.6.13. Könntest du mal auf 2.6.13 aktualisieren und es nochmal ausprobieren?

Danke!

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
Compuman
Posts: 17
Joined: Wed Feb 04, 2009 11:58 am
Location: Germany-Essen

Re: LDAP,AD Einschränkung auf Gruppen

Post by Compuman »

Hallo Thorsten,

ich habe das update erfolgreich durchgeführt.

In die Config/constants_ldap.php habe ich folgendes wieder eingefügt:

// Option for adding a check on LDAP groups
// Default: false
$PMF_LDAP['ldap_use_memberOf'] = false;
$PMF_LDAP['ldap_mapping']['memberOf'] = 'CN=MAL_L_FAQ-KSP_R,OU=Group_Anwendungen,OU=Group,OU=Allgemein,OU=Marl,DC=eu,DC=degussanet,DC=com';

Ist der Eintrag unter memberOf so richtig? Hab das vom Vorposter übernommen.

Solange $PMF_LDAP['ldap_use_memberOf'] = false; auf false steht kann ich mich nur lokal anmelden. Ändere ich den Wert auf true bekomme ich die gleiche Fehlermeldung wie zuvor auch.

Ich wollte nun die alten user noch einmal löschen und diese initial anlegen. Beim Löschen bekomme ich folgende Meldung:

Lösche Benutzer
m2129_1
Wirklich sicher? Soll der Benutzer gelöscht werden?
<input type="hidden" name="csrf" value="
Es grüßt freundlich

Markus
Thorsten
Posts: 15560
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Re: LDAP,AD Einschränkung auf Gruppen

Post by Thorsten »

Hi,

ja, beim Benutzerlöschen ist leider in der 2.6.13 ein Bug drin... evtl wartest du bis zum 2.6.14 Release ab. Das wird einfacher sein.

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
Peppy
Posts: 8
Joined: Thu Nov 18, 2010 11:18 am

Re: LDAP,AD Einschränkung auf Gruppen

Post by Peppy »

Hi Thorsten,

sorry dass ich mich erst jetzt melde. Viel zu tun in letzter Zeit.
Ich hab die Änderungen mal in unser System eingebaut.
Scheint zu funktionieren.

Die Zeile $PMF_LDAP['ldap_use_memberOf'] = false; soll die Gruppenfunktion ein oder aus schalten, oder?
Komischerweise funktioniert die Einschränkung auf eine LDAP Gruppe aber nur, wenn der Wert auf false steht.
Das finde ich etwas merkwürdig. Aber vieleicht interpretiere ich das auch falsch.
Auf jeden Fall funktioniert es, wenn man einfach die LDAP Gruppe alá $PMF_LDAP['ldap_mapping']['memberOf'] = 'cn=it-service,ou=gebaeude,dc=ad,dc=it-schmiede,dc=de'; einträgt.
Thorsten
Posts: 15560
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Re: LDAP,AD Einschränkung auf Gruppen

Post by Thorsten »

Hi,

komisch, dass es bei false funktioniert. Ich habe eben mal in der inc/Ldap.php in der Zeile 206 den Code von

Code: Select all

        if (true === $PMF_LDAP['ldap_use_memberOf']) {
auf

Code: Select all

        if (true == $PMF_LDAP['ldap_use_memberOf']) {
geändert. Evtl. liegt es daran..

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
Peppy
Posts: 8
Joined: Thu Nov 18, 2010 11:18 am

Re: LDAP,AD Einschränkung auf Gruppen

Post by Peppy »

Ne, da hat sich nichts geändert. $PMF_LDAP['ldap_use_memberOf'] funktioniert immer noch nur auf false.
Morgen ist unser Programmierer wieder im Haus. Ich kann den mal fragen, was ihm dazu einfällt.
Thorsten
Posts: 15560
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Re: LDAP,AD Einschränkung auf Gruppen

Post by Thorsten »

Hi,

Danke!

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
fraggler
Posts: 3
Joined: Fri Dec 10, 2010 2:26 pm

Re: LDAP,AD Einschränkung auf Gruppen

Post by fraggler »

Hallo,

ich bin der Programmierer, den Peppy meinte.

Hier nun die Vorgehensweise und Verbesserungen, die erfolgreich getestet wurden und bereits im produktiven Einsatz sind.

In die config/constants_ldap.php ist folgendes einzutragen:

Code: Select all

$PMF_LDAP['ldap_use_memberOf'] = true;
$PMF_LDAP['ldap_mapping']['memberOf'] = 'cn=it-service,ou=gebaeude,dc=ad,dc=it-schmiede,dc=de';
Der Wert der Variablen $PMF_LDAP['ldap_mapping']['memberOf'] ist selbstverständlich den individuellen Gegebenheiten anzupassen und ist hier nur exemplarisch.

Die Änderungen in inc/Ldap.php richten sich vornehmlich an den Entwickler Thorsten und lauten wie folgt:

Code: Select all

        
if (true === $PMF_LDAP['ldap_use_memberOf']) {
	$filter = sprintf('(&%s(memberof=%s))', $filter, $PMF_LDAP['ldap_mapping']['memberOf']);
}
Man beachte, dass der Wert der Variablen $filter über einen reinrassigen Zuweisungsoperator zugewiesen wird und nicht wie vorher über den Vereinigungs-Zuweisungsoperator ('.=').

Hiermit ist eine Einschränkung auf LDAP- bzw. AD-Gruppen möglich.

Grüezi
fraggler
Thorsten
Posts: 15560
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Re: LDAP,AD Einschränkung auf Gruppen

Post by Thorsten »

Hi,

aaaaah... danke!!! :-)

Dann fixe ich das gleich mal! Danke!!

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
rybal06
Posts: 9
Joined: Wed Mar 09, 2011 5:45 pm

Re: LDAP,AD Einschränkung auf Gruppen

Post by rybal06 »

I am currently evaluating this software for use at a University IT HelpDesk. So far I really like it, but I was not able to get the ldap group filter to work. I am running 2.6.14, on php5, mysql, ubuntu 10.10.

When I set ['ldap_use_memberOf'] = true, the message "User or password not valid." shows up.
I tried using the changes from, https://github.com/thorsten/phpMyFAQ/co ... 9c585712ad with no success, currently I am using the /inc/ldap.php from the alpha 1.7 release.

I think have made the necessary changes in the /config/ldap.php:

Code: Select all

// Option for adding a check on LDAP groups
// Default: false
$PMF_LDAP['ldap_use_memberOf'] = true;
$PMF_LDAP['ldap_mapping']['memberOf'] = 'cn=group,ou=ou name, dc=domain,dc=edu';
/inc/ldap.php:

Code: Select all

        $filter = sprintf('(%s=%s)', $PMF_LDAP['ldap_mapping']['username'], $username);
        if (true === $PMF_LDAP['ldap_use_memberOf']) {
            $filter .= sprintf('(%s)', $PMF_LDAP['ldap_mapping']['memberOf']);        
Thanks again for the excellent product!
Post Reply