Permissão em módulos do sistema

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,

Tem o JAAS e o Acegi.

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

[quote=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.

[/quote]

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.

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.

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

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

Junior

[quote=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[/quote]

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!!!

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.

ta ai uma novidade pra mim…

Legal Jux,

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

Valeu!

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

Qualquer dúvida é só postar …

Falow