Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Duvidas com permissões! Bom meu livro chegou! :-) é super interessante como é rápido desenvolver aplicações com a o Framework! Me surgiram algumas duvidas em relação ao mesmo! Autenticação/Permissões: Quando eu desenvolvo sistemas eu costumo criar uma tabela no banco de dados onde ao cadastrar um funcionário eu possa personalizar os acessos do mesmo! no livro é abordado a utilização de permissões...
AM
Duvidas com permissões!  
Fechado
Bom meu livro chegou! :-) é super interessante como é rápido desenvolver aplicações com a o Framework!

Me surgiram algumas duvidas em relação ao mesmo!

Autenticação/Permissões:
Quando eu desenvolvo sistemas eu costumo criar uma tabela no banco de dados onde ao cadastrar um funcionário eu possa personalizar os acessos do mesmo! no livro é abordado a utilização de permissões fixas e para cada uma é utilizado um template diferente, no meu caso isso se torna inviável tendo em vista que cada funcionário recebe permissões a módulos do sistema de maneira personalizada, e como eu venho da programação estruturada, eu fico meio confuso na logica de como aplicar aqui esses meios de permissões!
Como eu faria para ocultar uma opção especifica do menu para um usuário x ou y, na estruturada eu colocaria um " if sessão tem permissão mostre menu" aqui no Framework eu faria como? estenderia a classe que trata os menus? estou confuso neste tema!

Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (9)


FF

Eu estendi a classe de menu para que a mesma abra um arquivo XML gerado pelo PHP em tempo de execução. Tipo: menu.php (ao invés de menu.xml)... e o fonte de menu.php trabalha a lógica de permissões e gera um resultado em XML conforme o padrão do componente base.

Mas isso não será o suficiente, pois é apenas uma barreira estética, já que o usuário consegue digitar na URL a classe e método que deseja acessar, assim cada classe da control também precisa ter seu tratamento de acesso
ES

Olá Augusto,
esse assunto já foi discutido aqui e inclusive no livro o Pablo trata o assunto a parte porque depende do projeto de cada um.

Eu fiz exatamente como você expõe porque meu projeto trabalha com perfil pré-determinado e customizado. Confesso que tive que estudar muito para fazer esse menu e creio que vai te dar muito trabalho também.

Em primeiro lugar não consegui utilizar o menu disponibilizado pelo framework de forma a habilitar itens em tempo de execução e por isso criei o meu próprio, obviamente seguindo a minha lógica.

Vou disponibilizar para você os arquivos de menu, assim poderão te dar uma ideia e você poderá customizar de acordo com sua necessidade.

Vou disponibilizar, também, o arquivo index_web.php. Lembrando que só funciona para projetos web.

Colocarei telas do sistema com a geração do menu depois das permissões.

O arquivo estará na área das contribuições.

Espero que ajude.

att.
Eliezer
AM

No caso dos controladores eu posso checar se na sessão existe alguém habilitado para acessar a classe! ou seria de outra forma!
FF

Augusto, é dessa forma mesmo, mas esteticamente se você fizer só isso vais ter o problema de abrir vastos menus para usuários que podem ter acesso apenas a uma ou outra função. Qualquer cliente vai reclamar certo disso.
ES

Veja aí augusto que o menu que eu criei faz exatamente o que o Fernando está falando: aparece para o usuário somente o que ele tem permissão.

Veja as telas em anexo.
AM

É verdade, alem disso preciso manipular os menus, a contribuição do Eliezer me parece interessante, irei estudá-la! a sua resolução foi feita igual a do Eliezer?
FF

Eu não estou vendo anexos :-( ... onde eles estão?
AM

Ele postou em contribuições!

Aproposito, O tema usado por ele ficou bem legal!!!! ainda não consegui personalizar os css da maneira que eu quero! Acredito que nas próximas versões o Pablo se atente em tornar isso mais transparente!
PD

Olá Pessoal,

Sim, pretendo disponibilizar um exemplo pronto em uma das próximas versões com permissões dinâmicas. Uma app de exemplo.

abs,
Pablo