Extension:LDAPAuthorization

This page is a translated version of the page Extension:LDAPAuthorization and the translation is 100% complete.
Cette extension est maintenue par un membre de Groupe des acteurs de MediaWiki .
Cette extension fait partie de Pile LDAP et nécessite que l'extension LDAPProvider soit d'abord installée.
Cette extension nécessite que l'extension PluggableAuth soit d'abord installée.

Cette extension vérifie certains droits demandés pour autoriser la connexion à un wiki en utilisant Extension:PluggableAuth ou Extension:Auth remoteuser . Si l'une des conditions n'est pas remplie, le processus de connexion est annulé.

Manuel des extensions MediaWiki
LDAPAuthorization
État de la version : stable
Auteur(s) Cindy Cicalese, Mark A. Hershberger, Robert Vogel
Dernière version 1.0.0
Politique de compatibilité Versions ponctuelles alignées avec MediaWiki. Le master n'est pas compatible arrière.
MediaWiki 1.31+
Composer mediawiki/ldap-authorization
Licence Licence publique générale GNU v2.0 ou ultérieur
Téléchargement
  • $wgAutoAuthUsernameNormalizer
  • $wgAutoAuthRemoteUserStringParser
  • $wgAutoAuthRemoteUserStringParserRegistry
  • $wgAutoAuthBypassWithCookieUsernameRemoteAddrs
Téléchargements trimestriels 363 (Ranked 14th)
Traduire l’extension LDAPAuthorization sur translatewiki.net si elle y est disponible

Installation

  • Installez les extensions LDAPProvider et PluggableAuth.
  • Téléchargez et placez le(s) fichier(s) dans un répertoire appelé LDAPAuthorization dans votre dossier extensions/.
    Les développeurs et les contributeurs au code doivent à la place installer l'extension à partir de Git en utilisant:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/LDAPAuthorization
  • Ajoutez le code suivant à la fin de votre fichier LocalSettings.php  :
    wfLoadExtension( 'LDAPAuthorization' );
    
    Configurez si nécessaire.
  •   Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.

Paramètres de configuration de l'extension

Lorsqu'elles sont utilisées dans LocalSettings.php, ces variables doivent être préfixées avec $LDAPAuthorization
Nom Valeur par défaut Description
AutoAuthRemoteUserStringParserRegistry
{
 "domain-backslash-username": "MediaWiki\\Extension\\LDAPAuthorization\\AutoAuth\\RemoteUserStringParser\\DomainBackslashUsername::factory",
 "username-at-domain": "MediaWiki\\Extension\\LDAPAuthorization\\AutoAuth\\RemoteUserStringParser\\UsernameAtDomain::factory"
}
registre des fonctions de rappel d'origine pour les différents analyseurs syntaxiques, qui extraient le domaine et le nom d'utilisateur à partir d'un domaine-nom d'utilisateur fourni.

Doit rendre un objet IRemoteUserStringParser.

Utilisé uniquement si l'authentification automatique est fournie par Extension:Auth remoteuser .

AutoAuthRemoteUserStringParser "domain-backslash-username" Configure l'analyseur syntaxique nécessaire pour extraire le nom de domaine et l'utilisateur d'un nom d'utilisateur de domaine fourni. Les valeurs permises sont :
  • "domain-backslash-username" (Utilisez ceci si $_SERVER['REMOTE_USER'] = "SOMEDOMAIN\\Some username")
  • "username-at-domain" (Utilisez ceci si $_SERVER['REMOTE_USER'] = "some.username@somedomain.local")

Utilisé uniquement en cas d'authentification automatique fournie par Auth remoteuser.

AutoAuthUsernameNormalizer "" Une fonction de rappel qui permet de modifier le nom d'utilisateur lorsque l' Extension Auth_remoteuser est utilisée pour l'authentification basée sur le réseau. Par exemple "strtolower". Si l'authentification basée sur le formulaire est également activée via l'Extension LDAPAuthentication2, la valeur doit être la même de celle de $LDAPAuthentication2UsernameNormalizer.

Utilisé uniquement en cas d'authentification automatique fournie par Extension:Auth remoteuser

Paramètres de configuration du domaine

Nom Valeur par défaut Description
rules.groups.required [] tableau de DNs de groupes nécessaires pour terminer le processus de connexion. Il suffit d'appartenir à un groupe pour être autorisé (OU logique).
rules.groups.excluded [] tableau de DNs de groupes dont l'utilisateur peut ne pas faire partie pour terminer le processus de connexion. Il suffit d'appartenir à un groupe pour être interdit de se connecter (OU logique).
rules.attributes {} Cela implique la règle du mapping des attributs à partir de Extension:LDAP Authentication

Exemple :

{
    "&" : {
    	"status": "active",
    	"|": {
    		"department": [ "100", "200" ],
    		"level": [ "5", "6" ]
    	}
    }
}
rules.query "" Permet de fournir une requête LDAP standard à tester sur l'utilisateur. Comparable à $wgLDAPAuthAttribute de l'extension LDAP Authentication

Exemple :

&(active=TRUE)(permissionAlias=cn=X,ou=Y,ou=accounts,dc=company,dc=local)

Example 1

Si vous voulez configurer ceci dans LocalSettings.php vous pouvez étendre la configuration pour LDAPProvider comme dans cet exemple :

$LDAPProviderDomainConfigProvider = function() {
	$config = [
		'LDAP' => [
			'connection' => [
				...
			],
			'authorization' => [
				'rules' => [
					'groups' => [
						'required' => [ "groupname" ]
					]
				]
			]
		]
	];
...

Example 2

Voici un exemple complet de la configuration LocalSettings.php pour Active Directory :

$LDAPProviderDomainConfigProvider = function()
{
	$config =
	[
		"example.com" =>
		[
			"connection" =>
			[
				"server" => "ldap.example.com",
				"user" => "cn=ldap,cn=Users,dc=example,dc=com",
				"pass" => "password",
				"basedn" => "dc=example,dc=com",
				"groupbasedn" => "dc=example,dc=com",
				"userbasedn" => "dc=example,dc=com",
				"searchattribute" => "samaccountname",
				"searchstring" => "USER-NAME@example.com",
				"usernameattribute" => "samaccountname",
				"realnameattribute" => "cn",
				"emailattribute" => "mail",
				"grouprequest" => "MediaWiki\\Extension\\LDAPProvider\\UserGroupsRequest\\GroupMember::factory"
			],
			"authorization" =>
			[
				"rules" =>
				[
					"groups" =>
					[
						"required" => [ "cn=Developers,cn=Users,dc=example,dc=com" ]
					]
				]
			],
			"groupsync" =>
			[
				"mechanism" => "mappedgroups",
				"mapping" =>
				[
					"sysop" => "cn=Developers,cn=Users,dc=example,dc=com",
					"bureaucrat" => "cn=Developers,cn=Users,dc=example,dc=com"
				]
			],
			"userinfo" =>
			[
				"email" => "mail",
				"realname" => "cn",
				"properties.gender" => "gender"
			]
		]
	];

	return new \MediaWiki\Extension\LDAPProvider\DomainConfigProvider\InlinePHPArray( $config );
};

Versions

Les extensions de la pile LDAP sont ciblées ou qualifiées uniquement pour les versions LTS de MediaWiki.
Toutefois, ce tableau permet de déterminer quelles versions d'extension à utiliser pour toutes les versions récentes.

Version MediaWiki Version recommandée de l'extension Etat du test Date du dernier test
1.35 (LTS) LDAPxxx_master Testé mars 2020