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

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

<!-- A sample ejb-jar.xml fragment -->
<ejb-jar>
  <enterprise-beans>
    <session>
      <ejb-name>ASessionBean</ejb-name>
      ...
      <security-role-ref>
          <role-name>TheRoleICheck</role-name>
          <role-link>TheApplicationRole</role-link>
      </security-role-ref>
    </session>
  </enterprise-beans>
  ...
</ejb-jar>
Copy to Clipboard Toggle word wrap
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

<web-app>
    <servlet>
        <servlet-name>AServlet</servlet-name>
        ...
        <security-role-ref>
            <role-name>TheServletRole</role-name>
            <role-link>TheApplicationRole</role-link>
        </security-role-ref>
    </servlet>
    ...
</web-app>
Copy to Clipboard Toggle word wrap
Voltar ao topo
Red Hat logoGithubredditYoutubeTwitter

Aprender

Experimente, compre e venda

Comunidades

Sobre a documentação da Red Hat

Ajudamos os usuários da Red Hat a inovar e atingir seus objetivos com nossos produtos e serviços com conteúdo em que podem confiar. Explore nossas atualizações recentes.

Tornando o open source mais inclusivo

A Red Hat está comprometida em substituir a linguagem problemática em nosso código, documentação e propriedades da web. Para mais detalhes veja o Blog da Red Hat.

Sobre a Red Hat

Fornecemos soluções robustas que facilitam o trabalho das empresas em plataformas e ambientes, desde o data center principal até a borda da rede.

Theme

© 2025 Red Hat