Permissão em módulos do sistema

10 respostas
ze_kiefa

Estou a procura de um framework ou de alguma API (ou até uma maneira eficaz) que gerencie as permissões de um usuário em um determinado sistema.
O meu caso é web, mas acho que o conceito deve valer para qualquer aplicação genérica.

Exemplo:

Sistema: Estoque
Módulo: Cadastro de Produtos
Permissão: Visualização, Cadastro, Alteração e Exclusão

Sistema: Financeiro
Módulo: Duplicatas
Permissão: Baixa e Envio

Eu vi alguma coisa sobre JAAS, mas não o entendi muito bem e nem sei se isso serve.

Obrigado,

10 Respostas

maurenginaldo

Tem o JAAS e o Acegi.

Parece que o Acegi vc consegue colocar permissão até em chamada de métodos.

sergiotaborda

ze_kiefa:
Estou a procura de um framework ou de alguma API (ou até uma maneira eficaz) que gerencie as permissões de um usuário em um determinado sistema.
O meu caso é web, mas acho que o conceito deve valer para qualquer aplicação genérica.

Exemplo:

Sistema: Estoque
Módulo: Cadastro de Produtos
Permissão: Visualização, Cadastro, Alteração e Exclusão

Sistema: Financeiro
Módulo: Duplicatas
Permissão: Baixa e Envio

Eu vi alguma coisa sobre JAAS, mas não o entendi muito bem e nem sei se isso serve.

O Acegi é uma impleemntação em cima do JAAS.
O JAAS promove a segurança do seu codigo ,mas é muito abstracto ( por isso alguem inventou o Acegi)
Vc pode usar o Acegi/JAAS para gerenciar a autenticação e autorização da sua aplicação. Se puder “perder” tempo aprendendo essas API é o certo.

De resto vc pode implementar a sua propria API. A vantagem de criar a sua API é que pode ter maior controle sobre os requistos que ver entendidos, a desvantagens é pode acabar com um codigo meio gambiarra que não segue padrão nenhum.

maurenginaldo

Você ainda pode implementar um Servlet Filter e fazer o controle todo via Url.

Dê uma pesquisada aqui no GUJ que vc vai encontrar bastante material.

Jux

Cara eu consegui resolver esse problema essa semana. Eu estava usando o TomCat e o framework que eu usei foi o tomahawk. É muito bom.

Dá uma olhada nele. Só uma coisa. Autententicação é diferente de Autorização, não se confunda, o JAAS permite acessar a aplicação e ele trabalha em conjunto com o seu webserver, já na aplicação o seu framework, que no meu caso foi o tomahawk, conversa com o web server para realizar as autorização, por exemplo, de módulo e links.

Até mais,

Junior

Jux

o tomahawk e da apache e faz parte do MyFaces, que é uma implementação JSF

Junior

maurenginaldo

Jux:
Cara eu consegui resolver esse problema essa semana. Eu estava usando o TomCat e o framework que eu usei foi o tomahawk. É muito bom.

Dá uma olhada nele. Só uma coisa. Autententicação é diferente de Autorização, não se confunda, o JAAS permite acessar a aplicação e ele trabalha em conjunto com o seu webserver, já na aplicação o seu framework, que no meu caso foi o tomahawk, conversa com o web server para realizar as autorização, por exemplo, de módulo e links.

Até mais,

Junior

Tomahawk? Framework? Como assim???

Até onde seu o tomahawk é um conjunto de componentes Jsf implementados pela Apache para trabalhar na visão. Nunca vi ele tratrar autorizações em links!!!

Jux

Então veja um exemplo:

<%@taglib prefix=“f” uri=“http://java.sun.com/jsf/core”%>
<%@taglib prefix=“h” uri=“http://java.sun.com/jsf/html”%>
<%@taglib prefix=“t” uri=“http://myfaces.apache.org/tomahawk”%>
<html>

<body>
<f:view>

<t:commandLink value=“Link1” visibleOnUserRole=“administrador” />
<t:commandLink value=“Link2” />

</t:inputText>

</f:view>
</body>

</html>

O Link1 só irá aparecer para usuários com perfil: administrador, enquanto o outro link será mostrados a todos os usuários que tiverem acesso para essa página.

E

ta ai uma novidade pra mim…

maurenginaldo

Legal Jux,

não sabia dessa funcionalidade do tomahawk, por isso meu espanto.

Valeu!

Jux

Só mais uma coisa, eu usei o REALM do TOMCAT para fazer a autenticação.

Qualquer dúvida é só postar …

Falow

Criado 21 de fevereiro de 2008
Ultima resposta 22 de fev. de 2008
Respostas 10
Participantes 5