Capítulo 1. Visão Geral de Proteção Declarativa do Java EE
Ao invés de incorporar a segurança em seu componente comercial, o modelo de segurança do Java EE é declarativo: você descreve as funções de segurança e permissões num descritor XML padrão. Isto isola a segurança a partir do código de nível comercial uma vez que a segurança tende mais a ser uma função de onde o componente é implantado do que um aspecto inerente de lógica comercial do componente.
Por exemplo, considere um componente de caixa eletrônico usado para acessar uma conta bancária. As solicitações de segurança, funções e permissões do componente irão variar independentemente de como você acessa a conta bancária. Como você acessa sua informação de conta pode também variar dependendo de qual banco a conta é gerenciada ou onde o caixa eletrônico está localizado.
A proteção do aplicativo Java EE é baseada na especificação das solicitações de segurança através dos descritores de implantação do Java EE padrão. Você pode proteger o acesso aos EJBs e componentes da web num aplicativo empresarial pelo uso dos descritores de implantação
ejb-jar.xml
e web.xml
. As seguintes seções descrevem o propósito e uso de vários elementos de segurança.
1.1. Referências de Segurança Copiar o linkLink copiado para a área de transferência!
Copiar o linkLink copiado para a área de transferência!
Ambos os Enterprise Java Beans (EJBs) e servlets podem declarar um ou mais elementos <security-role-ref>. A Figura 1.1, “O elemento <security-role-ref>” descreve o elemento <security-role-ref>, seus elementos filho e atributos.
Figura 1.1. O elemento <security-role-ref>
Este elemento declara que um componente está usando o valor do atributo
role-nameType
do elemento <role-name> como um argumento ao método isCallerInRole(String)
. Um componente pode verificar se o chamador está na função declarada pelo elemento <role-name> ou <security-role-ref>. O valor do elemento <role-name> deve conectar-se ao elemento através do elemento <role-link>. O uso típico do isCallerInRole
é executar uma checagem de segurança que não pode ser definida pelo uso dos elementos <method-permissions> baseados na função.
O Exemplo 1.1, “fragmento do descritor ejb-jar.xml” descreve o uso do <security-role-ref> num arquivo
ejb-jar.xml
.
Exemplo 1.1. fragmento do descritor ejb-jar.xml
O Exemplo 1.2, “fragmento do descritor web.xml” apresenta o uso do <security-role-ref> num arquivo
web.xml
.
Nota
Este fragmento é apenas uma amostra. Nas implantações, os elementos nesta seção devem conter os nomes da função e conexões relevantes à implantação EJB.
Exemplo 1.2. fragmento do descritor web.xml