Especificação J2EE de Segurança e Containers

5 respostas
R

Pessoal,

Estava estudando sobre segurança de aplicação na web e percebi que a própria especificação J2EE já dá suporte a alguns critérios de segurança, como autenticação, autorização, confidencialidade e integridade dos dados (os dois últimos sendo tratados como transporte seguro de dados, através de https).

Pois bem, até onde estudei, percebi que nem tudo relacionado a segurança fica apenas na aplicação (no web.xml). Até onde aprendi, é necessário que os papéis (tipos de usuários) sejam configurados em algum arquivo de configuração que depende do container. Então surgiram algumas perguntas:

  1. Não tem como eu utilizar a solução de segurança (relacionados a autenticação e autorização) de J2EE de modo que eu não dependa de container? Ou seja, se hoje a aplicação tá no Tomcat e eu precisar migrar pra o JBoss, vou precisar configurar os papéis de segurança também no JBoss?

  2. É possível alimentar os papéis dinamicamente, sem precisar restartar o servidor? Algo como fazer um sistema que cadastre os perfis e usuários e os mesmos já possam começar a logar no sistema, sem precisar restartar o servidor.

  3. É possível distinguir uma solicitação feita quando digitamos uma URL de uma solicitação implícita que o browser faz? Exemplo: no servidor tem um arquivo funcoesJavascript.js que é importada em uma página no servidor… Tem duas formas de lermos esse arquivo do lado do cliente:
    a) um usuário digita o caminho da url do arquivo e pode baixá-lo e ler seu conteúdo;
    b) o browser, implicitamente, vai buscar esse arquivo quando precisar rodar alguma função javascript.
    No fim das contas essas funções são diferentes de modo que eu consiga restringir o acesso para usuários mas não restringir para o navegador ou isso não é possível?

[]'s

5 Respostas

sergiolpf

Olá RafaelVS,

também estou estudando pra essa bendita prova =o) e entendi o que vc quis dizer, não sei se o que vou falar está correto, se não estiver o povo pode fazer o favor de me corrijir :lol:

Respondendo a 1ª: Quanto ao usuários serem configurados em um arquivo no container (tomcat-users.xml no caso do tomcat) a solução que eu vejo é todas essas regras estarem em Banco de dados. Isso torna as suas “roles and permissions” independente de container.

Respondendo a 2ª: mesma solução proposta acima… banco de dados =o)

Respondendo a 3ª: Não tenho a minima idéia :lol: mas acredito que não pq para o container todas as solicitações vem de um browser, pode ser que exista um “work around” que possa resolver isso… mas não sei, aqui estou no campo do achismo kkk

acho q é isso.

valeuz

R

Se eu colocar os roles e permissions, como faço pra o container ler essas informações? eu achei que a única maneira do container saber quais sao os roles e permissions fosse colocando-os no arquivo de configuracoes do container (como tomcat-users.xml, no caso do tomcat).

A solução que estou procurando é tal que eu não precise codificar nada relacionado a autenticação e autorização. Quero deixar para o container fazer isso.

W

A solução que estou procurando é tal que eu não precise codificar nada relacionado a autenticação e autorização. Quero deixar para o container fazer isso.
Talvéz não seja a sua solução, mais é uma ferramenta a “+” para ser avaliada.:
http://www.guj.com.br/posts/list/61628.java
http://www-128.ibm.com/developerworks/java/library/j-acegi1/index.html
sds

W

http://www2.java.no/web/files/moter/mai05/AcegiSecurity.pdf

R

Oi, William

Pelo que eu vi até agora nos links que vc indicou, acho que o Acegi vai servir para o que eu preciso, embora pareça que vai dar um pouco de trabalho na configuração dos XML.

Eu achei que talvez tivesse alguma forma já “nativa” do J2EE, sem precisar recorrer a “soluções terceirizadas”.

Vou estudar mais sobre Acegi e tentar integrar no meu sistema.

Obrigado e Abraços!

Criado 30 de julho de 2007
Ultima resposta 17 de ago. de 2007
Respostas 5
Participantes 3