Manual:$wgNamespaceProtection
Acesso: $wgNamespaceProtection | |
---|---|
Quem pode editar cada espaço nominal? |
|
Introduzida na versão: | 1.10.0 (r19110) |
Removida na versão: | Ainda em uso |
Valores permitidos: | (arranjo de arranjos) |
Valor padrão: | $wgNamespaceProtection = []; (1.14+)$wgNamespaceProtection[NS_MEDIAWIKI] = array( 'editinterface' ); (1.10 - 1.13) |
Outras definições: Ordem alfabética | Por função |
Detalhes
Este parâmetro de configuração permite que uma wiki obrigue permissões especiais para editar alguns espaços nominais.
Por padrão, a única restrição é que o espaço nominal MediaWiki pode ser editado somente por usuários com a permissão editinterface
(a qual, por padrão, é atribuída a administradores).
As chaves do arranjo são os números de cada espaço nominal, e seus valores são arranjos com os nomes das permissões. Se mais de uma permissão for listada para dado espaço nominal, o usuário em questão deverá ter todas elas para editar páginas dentro daquele espaço nominal.
O espaço nominal MediaWiki: é protegido para ser editado somente por usuários com o direito editinterface
.
A partir da 1.14, isso passou a ser definido no Setup.php e é impossível de ser modificado no LocalSettings.php , dado que há grande chance de ser definido incorretamente e deixar a wiki insegura.
Para permitir que grupos além do de administradores editem o espaço nominal MediaWiki:, conceda-os o direito editinterface
.
Não é possível restringir o acesso de leitura a determinado espaço nominal com $wgNamespaceProtection
.
(Veja Extension:Lockdown )
Some, but not all methods of watching a page protected with this option may not work.
Cascading protection may not be available to protected namespaces.
Exemplo
Restringindo a ação de edição do espaço nominal principal
$wgNamespaceProtection[NS_MAIN] = ['edit-main'];
Isso restringe a edição no espaço nominal principal a todos os que pertencerem a um grupo com a permissão “edit-main”.
Configurando espaços nominais personalizados com acesso de escrita restringido
define('NS_OFFICIAL', 100);
define('NS_OFFICIAL_TALK', 101);
$wgExtraNamespaces = [
NS_OFFICIAL => 'Official',
NS_OFFICIAL_TALK => 'Official_talk'
];
$wgNamespaceProtection[NS_OFFICIAL] = ['official-edit'];
$wgNamespaceProtection[NS_OFFICIAL_TALK] = ['official-talk-edit'];
$wgGroupPermissions['managers']['official-edit'] = true; // somente managers conseguem editar páginas no espaço nominal Official
$wgGroupPermissions['employees']['official-talk-edit'] = true; // employees conseguem editar páginas no espaço nominal Official_talk
$wgGroupPermissions['managers']['official-talk-edit'] = true; // e managers também
Desabilitando páginas de discussão
Dado que nobody
não é uma permissão válida do núcleo do MediaWiki, literalmente ninguém —nem administradores!— terá acesso.
Observe que ainda será necessário remover a aba usando outros métodos (veja: Manual:Perguntas frequentes#Como é que eu adiciono/removo abas na minha wiki? )
# Desabilitando a edição em todos os espaços nominais TALK através da obrigatoriedade da permissão inexistente 'nobody'
$wgNamespaceProtection[NS_TALK] = ['nobody'];
$wgNamespaceProtection[NS_USER_TALK] = ['nobody'];
$wgNamespaceProtection[NS_PROJECT_TALK] = ['nobody'];
$wgNamespaceProtection[NS_FILE_TALK] = ['nobody'];
$wgNamespaceProtection[NS_MEDIAWIKI_TALK] = ['nobody'];
$wgNamespaceProtection[NS_TEMPLATE_TALK] = ['nobody'];
$wgNamespaceProtection[NS_HELP_TALK] = ['nobody'];
$wgNamespaceProtection[NS_CATEGORY_TALK] = ['nobody'];
Ver também
- Category:Page specific user rights extensions — mais extensões de controle de acesso a páginas
- Extension:Lockdown — defina permissões por espaço nominal para qualquer grupo
- Extension:NSFileRepo — defina permissões por espaço nominal para imagens e arquivos (proteção personalizada de espaço nominal para repositórios de arquivos locais — baseada na Extension:Lockdown )