No meu componente personalizado, gostaria de restringir visualizações específicas a apenas determinados grupos de usuários. Se eu criar um item de menu para uma das minhas visualizações, isso é muito fácil: basta selecionar o nível de acesso para esse item de menu e pronto.
Agora, o problema surge se alguém tentar acessar diretamente uma URL com a opção = com_mycomponent, ou qualquer redirecionamento interno do meu componente for para uma página sem Itemid atribuído ... nesse caso, é o próprio componente que precisa para verificar o grupo de usuários e determinar se é capaz de visualizar essa página ... como posso restringir isso no meu código? Apenas uma verificação simples codificada para o grupo de usuários do usuário? Ou existe uma maneira "padrão" de fazer isso?
Estive verificando a documentação e encontrei o seguinte:
http://docs.joomla.org/J2.5:How_to_implement_actions_in_your_code
mas é para o que o usuário pode fazer, não para o que o usuário pode ver. Eu também encontrei este tópico no fórum:
http://forum.joomla.org/viewtopic.php?t=530721
o código no começo é bastante antigo, mas no final é recomendável usar isso:
http://api.joomla.org/cms-3/classes/JUser.html#method_authorise
Como devo proceder para isso? Devo definir ativos para o objeto principal gerado pela minha visualização para testar o acesso a ele com o JUser?
Desde já, obrigado.
fonte
Aqui está o código que você precisa para começar, mostrando como ver em quais grupos um usuário está.
fonte
Provavelmente a resposta tardia para esta pergunta. Mas aqui está o que eu usei:
No arquivo controller.php principal, substituí a função de exibição da seguinte maneira:
fonte