Página 1 de 1

[Dúvida] Autorização dos Grupos (Backend)

Enviado: 21 Out 2010, 14:01
por brluno
Estou fazendo um módulo para alterar as permissões dos grupos no Joomla 1.5.
Mas estou tendo um dificuldade que preciso pra fazer esse módulo.

As permissões estão no código e não no banco.
Quero localizar onde as permissões são atribuídas para cada usuário do Backend.

Aguardo Resposta.

Grato.

Re: [Dúvida] Autorização dos Grupos (Backend)

Enviado: 03 Dez 2010, 11:02
por ricardo.haas
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');