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 » Fri Dec 10, 2010 9:57 am

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: 14352
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Re: LDAP,AD Einschränkung auf Gruppen

Post by Thorsten » Sat Dec 11, 2010 1:30 pm

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 » Mon Dec 13, 2010 8:11 am

Klar, würde ich machen.

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

Re: LDAP,AD Einschränkung auf Gruppen

Post by Thorsten » Thu Dec 23, 2010 7:54 am

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 » Tue Jan 04, 2011 3:59 pm

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: 14352
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Re: LDAP,AD Einschränkung auf Gruppen

Post by Thorsten » Fri Jan 07, 2011 8:34 am

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 » Fri Jan 07, 2011 11:34 am

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: 14352
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Re: LDAP,AD Einschränkung auf Gruppen

Post by Thorsten » Fri Jan 07, 2011 11:39 am

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 » Mon Jan 17, 2011 4:10 pm

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: 14352
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Re: LDAP,AD Einschränkung auf Gruppen

Post by Thorsten » Mon Jan 17, 2011 8:05 pm

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 » Tue Jan 18, 2011 7:56 am

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: 14352
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Re: LDAP,AD Einschränkung auf Gruppen

Post by Thorsten » Tue Jan 18, 2011 8:10 am

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 » Thu Jan 20, 2011 3:35 pm

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: 14352
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Re: LDAP,AD Einschränkung auf Gruppen

Post by Thorsten » Thu Jan 20, 2011 9:25 pm

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 » Wed Mar 09, 2011 6:03 pm

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

Who is online

Users browsing this forum: No registered users and 1 guest