Em alguns casos, no uso da ferramenta Wiki, pode ser necessário restringir o acesso ao conteúdo apenas a usuários registrados.
Uma das mais proeminentes ferramentas de wiki é o MediaWiki, usado na Wikipedia. Mas volta e meia é preciso um pouco mais que a interface web para resolver alguns problemas comuns.
Em outro artigo, compartilhei como configurar URLs amigáveis no mediawiki.
Agora, como podemos restringir o acesso apenas a usuários registrados?
LocalSettings.php adicionando as seguites opções ao final do arquivo:Mais informações (em inglês) : http://www.mediawiki.org/wiki/Manual:$wgGroupPermissions
O título da página é "Erro" e a mensagem é "Autenticação Requisitada"
Para deixar isso mais bonito, acesse a página de edição das mensagens do MediaWiki, via web mesmo, no endereço Especial:Todas_as_mensagens do seu wiki. As mensagens que procuramos aqui são: loginreqlink, loginreqpagetext e loginreqtitle
Mas o problema é: o título da página (na janela do browser) continua sendo "Erro", e esta mensagem é a mesma usada em outros erros. Então, para mudar isso precisamos dar uma pequena "mexidinha" no código do mediawiki. Nada demais, apenas mudar a chamada da mensagem errorpagetitle para loginreqtitle.
Encontramos essa chamada no arquivo include/OutputPage.php, lá pela linha 978:
e mudamos para
e pronto!
Este blog está licenciado sob uma Licença Creative Commons.



Comentários
Realmente fácil e direto .. me ajudou mesmo. Obrigado pelo post!
Imagina!
É um prazer ajudar!
Um abraço
Lourenzo Ferreira
Olá!!!
Precisei destas informações por duas vezes, e agora aproveito para agradecer!
Parabéns!
Que bom!
É muito legal saber que as informações que compartilho são úteis, afinal é meu objetivo ao blogar.
Obrigado pela visita!
Lourenzo Ferreira
Galera, to sofrendo pra caramba aqui com o MediaWiki porque quando eu cadastro um usuário (o cadastro de usuários esta bloqueado) eu não consigo atribui-lo ao grupo de "Usuários", e com isso ele passa a ter acesso às Páginas Especiais, podendo mudar várias configurações.
Como eu faço pra mudar isso, e deixar só os usuários Administradores e Burocratas com acesso ás páginas especiais?
Olá!
Pelo que sei, os usuários comuns apenas podem alterar configurações relativas a suas contas.
Nunca cheguei a esse nível de especificidade de bloquear todas as páginas especiais para usuários comuns, mas com certeza este tipo de configuração deve ser mostrado no manual do MediaWiki.
Consultar: http://www.mediawiki.org/wiki/Manual:Contents
Lourenzo Ferreira
É possível deixar alguns conteúdos para que usuário não registrados somente os veja?
Outros conteúdos só para os usuários registrados?
E só administrador editar/postar o conteúdo?
O jeito mais simples seria simplesmente adicionar as páginas que quer que apareçam apenas para os usuários na configuração:
"P%C3%A1gina_principal",
"Especial:Userlogin",
"-",
"MediaWiki:Monobook.css",
"Outra_Pagina",
"Por aí vai..."
);
Mais detalhes sobre a configuração do mediawiki neste aspecto podem ser encontrados em:
Adicionalmente, esta extensão pode ser útil. Nunca testei, mas me parece promissora.
http://www.mediawiki.org/wiki/Extension:Permissions
Lourenzo Ferreira
Olá,
gostaria de agradecer a disponibilização destas dicas, são muito úteis!
E gostaria também de saber se tem como proteger uma página para que somente um grupo de usuários possa editá-la, e gostaria também de saber se tem como criar outros grupos de usuários que já vêm definidos na mediawiki.
Obrigada!
Olá!
Quem bom que foi de ajuda!
Nunca precisei usar esse nível de especificidade, mas sei que nas versões mais recentes do MediaWiki é possível bloquear uma página para que só possa ser editada por um determinado Grupo.
Há uma aba 'bloquear' que aparece para quem tem privilégios de administrador/burocrata
Para criar grupos, creio que é necessário alterar opções no LocalSettings.php, como a seguinte página (em inglês) informa.
Lourenzo Ferreira
Que página? Acho que você esqueceu de colocar o link...
Boa tarde,
gostaria de saber se posso excluir um usuário existente na wiki, ou criar um grupo de usuários que não tenha acessoa a nada, mesmo que cadastrados.
Agradeço desde já.
olá!
Talvez esta extensão ( http://www.mediawiki.org/wiki/Extension:Deleteuser ) possa ajudar.
Lourenzo Ferreira
Desculpe...
O link é http://www.mediawiki.org/wiki/Manual:$wgGroupPermissions
Lourenzo Ferreira
Muito bom seu blog. Parabéns. Por favor como faço para criar novos usuários e coloca-los em grupos determinados?
Abraço.
Marcelo
Olá!
Obrigado pela visita.
Para adicionar um usuário, basta utilizar a página Especial:Userlogin
Em seguida, basta utilizar a página Especial:Userrights para adicionar os grupos.
Lourenzo Ferreira
Olá Lourenzo, sobre a restrição de usuários anônimos poderem ler somente determidado conteúdo do wiki, só conseguir fazer se colocar o wiki em inglês (en), em português dá erro.
Se eu colocar a língua em inglês e o código abaixo funciona:
$wgGroupPermissions['*']['read'] = false;
$wgWhitelistRead = array ( "Main_Page", "Special:Userlogin", "MediaWiki:Common.css",
"MediaWiki:Common.js", "MediaWiki:Monobook.css", "MediaWiki:Monobook.js", "-");
Uso a versão 1.5.0, será que é por problemas de caracteres especiais?
No firefox com o Wiki em português fica Página_principal e no IE6 fica P%C3%A1gina_principal...
Obrigado.
Olá!
Este artigo mostra como fazer exatamente o que está procurando, em português. Leia com atenção o código que foi postado.
E você precisa colocar nas configurações o nome da página em UTF-8 codificado para urls, igual aparece no IE6:
P%C3%A1gina_principal
Lourenzo Ferreira
Obrigado pela atenção!
Bom, mesmo com sua dica não funcionou :(
Esse é o endereço: http://www.opcaodigital.com/faq/
Parece que está dando certo sim, só falta mudar o título.
Estranhamente o mediawiki mostra o título 'Erro' quando se está tentando acessar uma página não autorizada.
Especial:Userlogin está funcionando.
Você pode tentar também adicionar o item 'Página_principal' à lista.
Abs
Lourenzo Ferreira
Em termos sim! Mas quando um usuário anônimo acessa a página inicial, deveria ser mostrado o conteúdo da página inicial e não o Especial:Userlogin, correto?
Grato.
Cara, Obrigado de verdade!
Salvou uma vida aqui hehehe...muito obrigado!
:D
Lourenzo Ferreira
Olá.
Estou a procura de uma solução para restringir não só o acesso de pessoas não registradas, pois isso já fiz, eu quero restringir o registro, para que só o administrador crie contas com login e senha.
Você pode me ajudar?
Olá!
É simples, basta substituir:
por:
aí somente quem estiver no grupo sysop (administradores) poderá criar usuários
ou ainda:
Nesse último caso os usuários adicionados ao grupo 'burocratas' poderão criar contas.
Para mais opções, o manual (em inglês) fica localizado em:
http://www.mediawiki.org/wiki/Manual:$wgGroupPermissions
Lourenzo Ferreira
Boa Tarde, primeiramente, gostaria de parabenizar pelo blog e queria dizer qe fiz os passos acima e realmente funcionou,
mais eu gostaria de tirar uma duvida por fora com vc
estou criando um wiki mais eu gostaria qe apenas
pessoas autorizadas conseguisem ver o conteudo
ou seja ao entrar no meu wiki, primeira coisa qe apareceria
é o login e senha, e apenas pessoas autorizadas acessasem
sera qe isso é possivel?
vc tem conhecimento sobre isso ?
desde ja agradeço amigo
Olá!
Basta seguir os mesmos passos do artigo, apenas substituindo
$wgWhitelistRead = array(
"P%C3%A1gina_principal",
"Especial:Userlogin",
"-",
"MediaWiki:Monobook.css"
);
Por:
$wgWhitelistRead = array(
"Especial:Userlogin",
"-",
"MediaWiki:Monobook.css"
);
Lourenzo Ferreira
Pessoal, no meu sistema funcionou colocando o seguinte:
$wgWhitelistRead = array("Página_principal".....
[]'s
Thiago
Boa tarde! Gostei muito do Blog.
Existe a possibilidade de deixar aberto para que todo mundo visualize e que somente os usuários logados possam editar?
Mas depois de editado somente iria aparecer no wiki depois que um moderador aceite o conteudo!
Isso é possivel?
Como fazer upload de figuras?
Obrigado
Olá! Obrigado!
A conf para restringir a edição aos usuários autenticados é:
$wgGroupPermissions['user']['edit'] = true;
Lourenzo Ferreira
E como colocar um moderador?
Até onde sei, o Mediawiki não é feito pra isso, acho que não tem moderação desse tipo. Tem revisão posterior, até mesmo por causa do fluxo de uso.
Imagina um monte de pessoas editando uma mesma página e isso indo para a moderação, cada edição mudando a frase atualmente publicada para uma diferente.
Mas de toda form, pode ser que encontre alguma informação no http://www.mediawiki.org/wiki/MediaWiki
Lourenzo Ferreira
Comentar