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é.
É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 | |
| 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é
LDAPAuthorizationdans 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 : |
- LDAP Stack Member/fr
- PluggableAuth plugins/fr
- Stable extensions/fr
- Extensions with invalid or missing type/fr
- AuthRemoteuserFilterUserName extensions/fr
- PluggableAuthUserAuthorization extensions/fr
- GPL licensed extensions/fr
- Extensions in Wikimedia version control/fr
- All extensions/fr
- Extensions included in BlueSpice/fr
- Extensions included in Canasta/fr
- LDAP extensions/fr
- Extensions by MITRE/fr
- User identity extensions/fr
