API:Limiter l'utilisation de l'API
Cette page fait partie de la documentation de l'API MediaWiki Action. |
Il existe plusieurs façons de limiter l’utilisation de (certaines parties de) l’API à certains groupes d’utilisateurs ou de la désactiver complètement. Certaines d'entre elles nécessitent de modifer les permissions du groupe.
Désactiver les modules
Vous pouvez désactiver les modules individuels pour tous les utilisateurs en ajoutant une ligne à LocalSettings.php
.
Ce que vous ajoutez dépend exactement du type de module que vous voulez désactiver :
- Pour les modules
action=
, utilisez$wgAPIModules ['modulename'] = 'ApiDisabled';
- Pour les modules
prop=
, utilisez$wgAPIPropModules ['modulename'] = 'ApiQueryDisabled';
- Pour les modules
list=
, utilisez$wgAPIListModules ['modulename'] = 'ApiQueryDisabled';
- Pour les modules
meta=
, utilisez$wgAPIMetaModules ['modulename'] = 'ApiQueryDisabled';
Exemples
Pour désactiver l'utilisation de action=edit
pour tout le monde :
$wgAPIModules['edit'] = 'ApiDisabled';
Pour limiter l'accès à une action d'API, ajoutez le point d'entrée suivant à ApiCheckCanExecute :
static function onApiCheckCanExecute( $module, $user, &$message ) {
$moduleName = $module->getModuleName();
if (
$moduleName == 'action' &&
!in_array( 'right', $user->getRights() )
) {
$message = 'apierror-action-notallowed';
return false;
}
return true;
}
Remplacez 'action'
, 'right'
et 'apierror-action-notallowed'
par les valeurs appropriées.