Manuel:table user_groups
↑ Manuel:Contenu | Schéma de base de données MédiaWiki | table user_groups |
Version de MediaWiki : | ≥ 1.5 |
La table user_groups associe les utilisateurs d'une installation MediaWiki donnée à leur droits utilisateur correspondants. Chaque groupe peut recevoir divers privilèges par l'intermédiaire de LocalSettings.php ou par les extensions; tous les utilisateurs d'un groupe particulier reçoivent ces autorisations en raison de leur appartenance au groupe. Comme cette table est distincte de la table user , ceci permet de créer une base de données partagée d'utilisateurs avec des droits qui changent selons le wiki, à l'intérieur d'une ferme de wikis. Cette table a été introduite en r5648, dans MediaWiki 1.5. Si vous utilisez MediaWiki 1.3 ou 1.4, consultez Manuel:Droits utilisateurs (anciennes versions) . Avant MediaWiki 1.5, les droits utilisateur se trouvaient dans le champ user_rights de la table user .
Tous les utilisateurs non enregistrés appartiennent automatiquement au groupe '*'
et seulement à ce groupe; tous les utilisateurs enregistrés font également automatiquement partie du groupe 'user'
.
Les groupes d'utilisateurs sont additifs; par conséquent, tous les utilisateurs enregistrés reçoivent également les privilèges du groupe '*'
.
Autrefois, il y avait un bit sysop; maintenant, pour déclarer un utilisateur sysop il suffit d'ajouter une ligne à user_groups
.
*
, user
, ou autoconfirmed
ne sont pas stockés dans cette table. Pour obtenir tous les groupes effectifs utilisez UserGroupManager::getUserEffectiveGroups()
.
Champs
ug_user
Ce champs pointe sur le user_id d'un utilisateur donné. C'est une clé externe utilisée pour lier les comptes et les droits qui leur sont assignés.
ug_group
Ce champ stocke les droits de l'utilisateur sous la forme d'une liste de groupes.
Au moment de l'exécution, $wgGroupPermissions associera les clés des groupes aux autorisations particulières; un utilisateur aura les autorisations combinées de tous les groupes dans lesquels il se trouve explicitement, plus les groupes implicites '*'
et 'user'
.
Exemple de valeurs de ug_group
: bot, bureaucrate, sysop.
Il y a une ligne pour chaque groupe (explicite) auquel appartient l'utilisateur.
ug_expiry
Version de MediaWiki : | ≥ 1.29 |
Ce champs indique la date d'expiration du groupe. Il est similaire à pr_expiry dans la table page_restrictions et ipb_expiry dans la table ipblocks .
Résumé du schéma
Version de MediaWiki : | ≥ 1.29 |
DESCRIBE user_groups;
+-----------+------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+------------------+------+-----+---------+-------+ | ug_user | int(10) unsigned | NO | PRI | 0 | | | ug_group | varbinary(255) | NO | PRI | | | | ug_expiry | varbinary(14) | YES | MUL | NULL | | +-----------+------------------+------+-----+---------+-------+
Versions de MediaWiki : | 1.21 – 1.28 |
DESCRIBE user_groups;
+----------+------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+------------------+------+-----+---------+-------+ | ug_user | int(10) unsigned | NO | PRI | 0 | | | ug_group | varbinary(255) | NO | PRI | | | +----------+------------------+------+-----+---------+-------+
Versions de MediaWiki : | 1.19 – 1.20 |
DESCRIBE user_groups;
+----------+------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+------------------+------+-----+---------+-------+ | ug_user | int(10) unsigned | NO | PRI | 0 | | | ug_group | varbinary(32) | NO | PRI | | | +----------+------------------+------+-----+---------+-------+
Versions de MediaWiki : | 1.10 – 1.18 |
DESCRIBE user_groups;
+----------+------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+------------------+------+-----+---------+-------+ | ug_user | int(10) unsigned | NO | PRI | 0 | | | ug_group | varbinary(16) | NO | PRI | | | +----------+------------------+------+-----+---------+-------+
Versions de MediaWiki : | 1.5 – 1.9 |
DESCRIBE user_groups;
+----------+-----------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+-----------------+------+-----+---------+-------+ | ug_user | int(5) unsigned | NO | PRI | 0 | | | ug_group | char(16) | NO | PRI | | | +----------+-----------------+------+-----+---------+-------+
Les index
Version de MediaWiki : | ≥ 1.29 |
SHOW INDEX IN user_groups;
+-------------+------------+-----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | +-------------+------------+-----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | user_groups | 0 | PRIMARY | 1 | ug_user | A | 0 | NULL | NULL | | BTREE | | | | user_groups | 0 | PRIMARY | 2 | ug_group | A | 0 | NULL | NULL | | BTREE | | | | user_groups | 1 | ug_group | 1 | ug_group | A | 0 | NULL | NULL | | BTREE | | | | user_groups | 1 | ug_expiry | 1 | ug_expiry | A | 0 | NULL | NULL | YES | BTREE | | | +-------------+------------+-----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
Groupes MediaWiki par défaut
Dans une installation par défaut de MediaWiki, ug_group peut être l'une des options suivantes :
SELECT DISTINCT `ug_group` FROM `user_groups`;
+------------+ | ug_group | +------------+ | bot | | bureaucrat | | sysop | +------------+