Jboss Gatein

Estou com uma duvida e não consegui solucionar. foi solicitado pra eu ver o que é melhor fazer quanto ao que vou retratar. estamos fazendo uma ferramenta web e estamos usando o jboss gatein, bom, varios usuários vao pode acessar essa ferramenta, mas nem todos vao pode acessar todas as funcionalidades. ai que esta o problema, como controlar essa restriçao? A primeira idéia seria restringir o acesso atraves do nosso banco de dados, quando o usuário fizer seu cadastro, a gente controlar as permiçoes atraves do nosso banco, porem ficou a duvida, tem como fazer isso? e se a gente fizesse a restriçao usando o banco do gatein? teriamos que a cada cadastro de usuário criar uma conta no gatein pra ele?qual das duas formas seria o melhor? sera que voce conseguiria responder isto? hehehhe desculpe encher de perguntas, realmente estou igual a cego no meio de um tiroteio.

encotrei uma pessoa aqui no guj e mandei uma msgm pra ele, n vou divulgar o nome pois n tenho a permição, mas fica na integra a resposta e solução encontrada por ele:

[quote]Ola,

Este problema que esta enfrentando eh muito comum e conta com diversas solucoes. Se voce perguntar a 10 profissionais como eles implementariam isso, vai receber 11 respostas :slight_smile:

Para Java, existe um padrao chamado “JAAS”, para autenticacao e autorizacao. Como eh um “padrao JEE”, ele eh implementado por todos os servidores de aplicacao certificados (JBoss, por exemplo). Mas geralmente usar isso eh meio complicado. Ele eh mais usado como ponto de integracao entre frameworks. Por exemplo, um framework de seguranca usa a API definida no JAAS para expor para outros frameworks qual eh o usuario atualmente “logado” no sistema. Com essa informacao, o EJB pode restringir a execucao de um metodo, o JSF pode nao mostrar uma parte da tela, o GateIn pode mandar um conjunto diferente de portlets ou acoes, e por ai vai.

A parte da autenticacao eh facil, e vc provavelmente ja a tem pronta no GateIn. O problema eh a autorizacao. Para isso, o mais comum eh definir “roles” (funcoes) para classificacao dos usuarios. Por exemplo: “rh”, “diretoria”, “funcionario”, “admin”, e por ai vai. Entao, voce pode falar no GateIn que pessoas que possuem a funcao “rh” podem ver informacoes de salario. Onde guardar essa informacao eh outro ponto que varia muito: alguns gostam de guardar isso no banco de dados, outros preferem deixar isso fora do banco de dados, por ser uma informacao “estatica” na maioria das vezes (ou seja, as funcoes nao vao sofrer alteracoes).

Acho que a resposta nao foi a mais “direta” possivel, mas talvez va te ajudar na pesquisa :-)[/quote]