API:Restringiendo API uso

From mediawiki.org
This page is a translated version of the page API:Restricting API usage and the translation is 100% complete.

Hay varias maneras de restringir el uso de (ciertas partes de) el API a ciertos grupos de usuarios, o deshabilitarla por completo. Algunos de estos requieren cambiar los permisos de grupo.

Restringiendo el acceso a la API de escritura

Puedes denegar a ciertos grupos el derecho a usar la API de escritura negándoles el derecho writeapi. Por defecto, todos los grupos tienen el derecho writeapi.


Deshabilitar módulos

Puedes deshabilitar módulos individuales para todos los usuarios agregando una línea a LocalSettings.php. Exactamente qué añadir, depende del tipo de módulo que desee deshabilitar:

Ejemplo

Para deshabilitar a cualquiera que no sea un sysop usando action=edit:

if ( !in_array( 'sysop', $wgUser->getGroups() ) ) {
	$wgAPIModules['edit'] = 'ApiDisabled';
}

Para limitar el acceso de una acción de API, agrega el siguiente enlace para 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;
}

Reemplaza 'action', 'right' y 'apierror-action-notallowed' con los valores apropiados.