Authentifizierung über LDAP für verschiedene Wikis

From NJH-Wiki

Jump to: navigation, search
Autor 
Frank Prößdorf

Contents

DokuWiki

Vorraussetzungen

  • DokuWiki muss eingerichtet und lauffähig sein
  • Es muss bereits ein erfolgreicher Abfrageversuch des LDAP Servers durch zum Beispiel ldapsearch gemacht worden sein

Vorgehensweise

  • Wir wählen unten im Menü: Admin -> Konfiguration -> Authentifizierungsmechanismus und tragen dort LDAP ein.
  • In die dokuwiki/conf/local.php tragen wir folgende Zeilen:
$conf['useacl'] = 1;
$conf['openregister'] = 0;

$conf['auth']['ldap']['server']      = 'ldap://server01.notjusthosting.com';
$conf['auth']['ldap']['binddn']      = 'cn=proxy_user,o=firma';
$conf['auth']['ldap']['bindpw']      = 'secret';
$conf['auth']['ldap']['usertree']    = 'ou=user, o=firma';
$conf['auth']['ldap']['userfilter']  = '(&(uid=%{user})(objectClass=posixAccount))';

Siehe auch

MediaWiki

Vorraussetzungen
  • MediaWiki muss eingerichtet und lauffähig sein (inkl. Datenbank, etc.).
  • Das LDAP Authentifizierungsplugin muss im extensions Ordner vorhanden sein.

Vorgehensweise

  • Wir ändern die LocalSettings.php im mediawiki Ordner:
require_once('extensions/LdapAuthentication.php');                           # binde das plugin ein
$wgAuth = new LdapAuthenticationPlugin();                                    # starte das plugin

$wgLDAPDomainNames = array('wikitest');                                      # lege einen beliebigen domain namen fest
$wgLDAPServerNames = array('wikitest' => 'server01.notjusthosting.com');     # lege die server mit dem verzeichnisdienst (edirectory) fest
$wgLDAPSearchAttributes = array('wikitest' => 'cn');                         # lege attribut fest nach dem gesucht wird    
$wgLDAPBaseDNs = array('wikitest' => 'ou=user,o=firma');                     # lege die basis dn fest
$wgLDAPProxyAgent = array('wikitest' => 'cn=proxy_user,o=firma');            # proxy benutzer
$wgLDAPProxyAgentPassword = array('wikitest' => 'start');                    # proxy passwort

$wgLDAPUseSSL = true;                                                        # benutze SSL/TLS
$wgMinimalPasswordLength = 1;                                                # minimale passwortlänge ist 1
$wgLDAPUseLocal = false;                                                     # benutze keine lokalen benutzerdatenbanken
# $wgLDAPDebug = 3;
  • Für die Beschränkung auf eine Gruppe ist folgender zusätzlicher Code notwendig:
$wgGroupPermissions['*']['createaccount'] = false;                                             # Neue Benutzer können sich nicht einfach registrieren
$wgGroupPermissions['*']['edit'] = false;                                                      # Nicht eingeloggte Benutzer dürfen keine Änderungen vornehmen
$wgWhitelistRead = array( "Hauptseite", "Spezial:Userlogin", "-", "<span class="serendipity_searchQuery">MediaWiki</span>:Monobook.css" );
$wgGroupPermissions['*']['read'] = false;
$wgShowIPinHeader = false;                                                                     # entferne die Anzeige der IP für nicht eingeloggte Benutzer

$wgLDAPRequiredGroups = array('wikitest' => array('cn=auth_gruppe,ou=user,o=firma'));          # Gruppe, der es erlaubt ist sich anzumelden
$wgLDAPGroupUseFullDN = array('wikitest' => true);
$wgLDAPGroupObjectclass = array('wikitest' => 'groupOfNames');                                 # was für eine Art Gruppe ist es im LDAP
$wgLDAPGroupAttribute = array('wikitest' => 'member');
$wgLDAPGroupSearchNestedGroups = array('wikitest' => false);                                   # durchsuche nicht nach unterliegenen Gruppen
Personal tools