A permissões são atribuídas aos grupos e não diretamente aos usuários,
já fiz algo semelhante, eu precisava de um grupo que poderia acessar o backend
mas mexer somente em um componente específico, vou pegar o caso do componente
de boletos, com_mamboleto, cujo esse grupo novo nao poderia ter acesso,
Criei um novo grupo para o backend - usando componente noixacl
Dai em cada componente que precisava validação, inseri a validação necessária no principal arquivo, restringindo o acesso,
no caso do componente mamboleto
no arquivo /administrator/components/com_mamboleto/admin.mamboleto.php não havia uma validação então eu inserir o código abaixo
Código: Selecionar todos
//restringir acesso ao componente
$user = & JFactory::getUser();
if (!$user->authorize( 'com_mamboleto', 'manage' )) {
$mainframe->redirect( 'index.php', JText::_('ALERTNOTAUTH') );
}
Após isso la no arquivo /libraries/joomla/user/authorization.php, coloquei permissão somente para alguns usuários(super administrator,administrator,manager)
Código: Selecionar todos
//mamboleto
$this->addACL( 'com_mamboleto', 'manage', 'users', 'super administrator');
$this->addACL( 'com_mamboleto', 'manage', 'users', 'administrator');
$this->addACL( 'com_mamboleto', 'manage', 'users', 'manager');
//se eu quizesse que meu novo grupo tivesse acesso ao componente mamboleto seria só descomentar a linha abaixo
//$this->addACL( 'com_mamboleto', 'manage', 'users', 'nome_do_grupo');