A Aldeia Numaboa ancestral ainda está disponível para visitação. É a versão mais antiga da Aldeia que eu não quis simplesmente descartar depois de mais de 10 milhões de pageviews. Como diz a Sirley, nossa cozinheira e filósofa de plantão: "Misericórdia, ai que dó!"

Se você tiver curiosidade, o endereço é numaboa.net.br.

Leia mais...

Informática Numaboa - Tutoriais e Programação

Controle de acesso no Joomla 1.5

Dom

4

Mai

2008


20:40

(29 votos, média 3.97 de 5) 


Finalmente os AXOs

Access eXtension Objects (AXOs) podem adicionar uma terceira dimensão às permissões que podem ser configuradas no phpGACL. Vimos como o phpGACL permite combinar um ARO e um ACO (duas dimensões) para criar uma Diretiva de Política de Acesso. Isto é o suficiente para uma solicitação de permissão simples como:

Papagaio (ARO) requisita acesso ao "Comando" (ACO)

Se isto é tudo o que você precisa, então ótimo porque os AXOs são totalmente opcionais. Mas como todos os ACOs são considerados iguais, fica difícil administrá-los quando existirem em grande número. Se este for o caso, podemos mudar o modo como olhamos para os Objetos de Acesso e facilitar as coisas.

AXOs são iguais aos AROs em muitos aspectos. Existe uma árvore AXO (separada da árvore ARO) com seus próprios Grupos e AXOs. Quando lidar com AXOs, considere os AXOs tomando o lugar dos ACOs (isto é, "coisas com acesso controlado") e passe a considerar os ACOs como "ações que são requisitadas".

Visão ARO e ACO

  • AROs: coisas requisitando acesso.
  • ACOs: coisas com acesso controlado.

Visão ARO, ACO e AXO

  • AROs: coisas requisitando acesso.
  • ACOs: ações que são requisitadas.
  • AXOs: coisas com acesso controlado.

Exemplo: um administrador de um site está tentando definir o acesso a projetos neste website. A árvore ARO compreende todos os usuários:

Website
|
|- Administradores
|  |- Júlia
|  |- João
|
|- Usuários
   |- Pedro
   |- Clara
   |- Helena

Os projetos estão organizados por Sistema Operacional em categorias na árvore AXO:

Projetos
|
|- Linux
|  |- Filtro de Spam
|  |- Firewall
|
|- Windows
   |- Exterminador de Assistentes do Office
   |- Devorador de Telas Azuis

As ações que podem ser requisitadas em cada projeto são "Ver" e "Editar". Estes são os ACOs.

Agora queremos que o Pedro tenha acesso para "Ver" todos os projetos Linux. Para isto adicionamos uma ACL que liga o ARO de Pedro ao ACO Ver e ao AXO Linux. A partir daí podemos fazer a pergunta:

Pedro (ARO) requesita acesso para "Ver" (ACO) o(s) projeto(s) chamados "Linux" (AXO)

Lembre-se de que os AXOs são opcionais. Se você não especificar um AXO quando chamar acl_check() e existir uma ACL sem um AXO, tudo bem. Entretanto, se existirem apenas ACLs com AXOs e você chamar acl_check() sem um AXO, a chamada vai falhar.

Basicamente, assim que você especificar um AXO ao chamar acl_check(), esta função irá procurar apenas ACLs que contenham AXOs. Se nenhum AXO for especificado, apenas ACLs sem AXOs serão pesquisadas.

Fonte de Referência

Generic Access Control Lists with PHP

Вадим Логофет детизаказ домаполигон ооо лобановский александрvsemsmart.ru vsemsmartкапитал mfx

Informações adicionais