Extension:LDAPAuthorization
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é.
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+ |
Licence | Licence publique générale GNU v2.0 ou ultérieur |
Téléchargement | |
|
|
Téléchargements trimestriels | 276 (Ranked 18th) |
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 dossierextensions/
.
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 : Configurez si nécessaire.
wfLoadExtension( 'LDAPAuthorization' );
- 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
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 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 :
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 |
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 :
|
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
Version MediaWiki | Version recommandée de l'extension | Etat du test | Date du dernier test |
---|---|---|---|
1.35 (LTS) | LDAPxxx_master | Testé | mars 2020 |
Cette extension est incluse dans les fermes de wikis ou les hôtes suivants et / ou les paquets : Cette liste ne fait pas autorité. Certaines fermes de wikis ou hôtes et / ou paquets peuvent contenir cette extension même s'ils ne sont pas listés ici. Vérifiez toujours cela avec votre ferme de wikis ou votre hôte ou votre paquet avant de confirmer. |