É possível proteger métodos de enterprise beans atribuindo funções de segurança a eles. Antes de designar as funções de segurança, você precisa saber quais métodos EJB (Enterprise
JavaBeans) necessitam de proteção e como protegê-los.
Sobre Esta Tarefa
É possível designar um conjunto de métodos EJB para um conjunto de funções. Quando um
método EJB for protegido pela associação de um conjunto de funções, conceda, pelo menos, uma função
nesse conjunto para que você possa acessar esse método.
Para excluir um
conjunto de métodos EJB a partir do acesso, marque o conjunto
excluído. É possível conceder
acesso para qualquer pessoa a um conjunto de métodos de bean corporativo, limpando estes métodos. É possível executar
os beans corporativos como uma identidade diferente, utilizando a identidade runAs, antes de
chamar outros beans corporativos.
Nota: Esse procedimento talvez não corresponda às etapas requeridas ao
utilizar a sua ferramenta de
montagem ou corresponda à versão da ferramenta de montagem que você está
utilizando. Você
deve seguir as instruções para a ferramenta e a versão que você está
utilizando. Para obter informações adicionais sobre como usar as ferramentas de montagem, consulte
o centro de informações da ferramenta de montagem.
Para proteger os aplicativos do enterprise bean, siga estas etapas:
Procedimento
- Em uma ferramenta do conjunto, importe seu arquivo Java™ Archive (JAR) do Enterprise JavaBeans (EJB) ou um arquivo application archive
(EAR) que contenha uma ou mais módulos da web.
Consulte as informações sobre como importar um arquivo JAR EJB ou um arquivo EAR de aplicativo corporativo na documentação do Rational
Application Developer.
- No Project Explorer, clique no diretório Projetos EJB e
clique no nome de seu aplicativo.
- Clique com o botão direito do mouse no descritor de implementação e clique em Abrir com > Editor do descritor de implementação. Se você selecionou um arquivo
.jar de bean corporativo, será aberto um editor do descritor de implementação EJB. Se você
selecionar um arquivo .ear do aplicativo, será aberto um editor do descritor de
implementação do aplicativo. Para
consultar as informações online sobre o editor, pressione F1 e clique no nome do editor.
- Crie funções de segurança. Você pode criar funções de segurança no nível do aplicativo ou no nível do módulo EJB. Se você criar uma função de segurança no nível do módulo EJB, a função será exibida no nível do aplicativo. Se uma função de segurança for criada no nível do aplicativo, a função não será
exibida em todos os módulos EJB.
Você pode copiar e colar uma ou mais funções de segurança do módulo EJB criadas no nível do aplicativo.
- Crie uma função no nível de um módulo EJB. Em um editor do descritor de implementação
EJB, clique na guia Montagem. Em Funções de Segurança, clique em Incluir. No assistente Incluir Função de Segurança, nomeie e descreva a função de segurança e clique em Concluir.
- Crie uma função no nível do aplicativo. Em um Application Deployment Descriptor Editor, selecione a guia Segurança. Na lista de funções de segurança, clique em Incluir. No assistente Adicionar Função de Segurança, nomeie e descreva a função de segurança; em seguida, clique em Concluir.
- Crie permissões do método. As permissões do método mapeiam um ou mais métodos para um conjunto de funções. Um bean corporativo possui quatro tipos de métodos: métodos home,
métodos remotos, métodos LocalHome e métodos locais. Você pode incluir permissões para enterprise beans no nível do método. Não é possível incluir uma permissão de método a um enterprise bean, a menos que possua uma ou mais funções de segurança já definidas. Para projetos EJB Versão 2.0, uma opção não selecionada especifica
que os métodos selecionados dos beans selecionados não requerem autorização
para execução. Para incluir uma permissão de método para um enterprise bean:
- Na guia Montagem de um EJB Deployment Descriptor Editor,
em Permissões de Método, clique em Incluir. É aberto o assistente Incluir
Permissão de Método.
- Selecione uma função de segurança a partir da lista de funções encontradas e clique em Avançar.
- Selecione um ou mais beans corporativos da lista de beans localizados. Você pode clicar em Selecionar Tudo ou em Cancelar Seleção de Tudo para selecionar
ou limpar todos os beans corporativos na lista. Clique em Avançar.
- Selecione os métodos que deseja ligar à função de segurança. A página Elementos do Método lista todos os métodos associados aos
beans corporativos. Você pode clicar em Aplicar a Todos ou Cancelar toda a Seleção para selecionar ou limpar vários métodos rapidamente. A seleção afeta
o método (*) padrão apenas para cada bean. A criação de uma permissão de método para a assinatura exata do método substitui a definição de permissão de método padrão (*). O método (*) padrão representa todos os métodos no bean. Também existem métodos (*) padrão para cada interface. Através da não seleção de todos os métodos individuais na árvore, é possível definir outras permissões nos métodos restantes.
- Clique em Concluir.
Após criar a permissão de método, é possível consultar a nova permissão de método na árvore.
Expanda a árvore para ver o bean e os métodos definidos
na permissão de método.
- Exclua o acesso do usuário aos métodos. Os usuários não podem acessar métodos excluídos. Qualquer método nos beans corporativos que não esteja designado
a uma função ou que não tenha sido excluído será limpo durante a instalação do
aplicativo pelo implementador.
- Na guia Montagem de um EJB Deployment Descriptor Editor,
em Lista de Exclusões, clique em Incluir. É aberto o assistente de Lista de Exclusões.
- Selecione um ou mais beans corporativos da lista de beans localizados e clique em Avançar.
- Selecione um ou mais elementos do método para a identidade de segurança e clique em Concluir.
- Mapeie security-role-ref e role-name para role-link. Ao desenvolver enterprise beans, é possível criar o elemento security-role-ref. O elemento security-role-ref contém somente o campo nome da função. O campo nome da função determina se
o responsável pela chamada está em uma função role(isCallerInRole()) especificada
e se contém o nome da função referido no código. Como você cria funções
de segurança durante o estágio de montagem, o desenvolvedor utiliza um nome
da função lógica no campo nome da função e fornece informações suficientes
no campo Descrição para que o assembler mapeie a função real (role-link). O elemento
security-role-ref está localizado no nível do EJB. Os beans corporativos podem ter zero ou mais elementos
security-role-ref.
- Na guia Referência de um EJB Deployment Descriptor Editor,
na lista de referências, clique em Incluir. É aberto o assistente
Incluir Referência.
- Selecione Referência da Função de Segurança e clique em Avançar.
- Nomeie a referência da função de segurança, selecione uma função de segurança à qual vincular a referência, descreva a referência da função de segurança e clique em Concluir.
- Mapeie cada role-name utilizado durante o desenvolvimento para a função
(role-link) utilizando as etapas anteriores.
- Especifique a identidade RunAs para os componentes do bean corporativo. A identidade RunAs do enterprise bean é utilizada para chamar os próximos
beans corporativos na cadeia de chamadas de EJB. Quando os próximos beans corporativos
são chamados, a identidade RunAsIdentity é transmitida para os próximos beans corporativos
para desempenhar uma verificação de autorização no próximo enterprise bean. Se
a identidade RunAs não for especificada, a identidade do cliente será propagada
para o próximo bean corporativo. A identidade RunAs pode representar cada um dos
beans corporativos ou pode representar cada método nos beans corporativos.
- Na guia Acesso de um EJB Deployment Descriptor Editor,
junto ao campo Identidade de Segurança (Nível de Bean), clique em Incluir. É aberto o assistente Incluir Identidade de Segurança.
- Selecione o modo executar como apropriado, descreva a identidade de segurança
e clique em Avançar. Selecione o modo Utilizar a Identidade do Responsável pela Chamada para instruir o serviço de segurança a não fazer alterações
nas configurações de credencial do proprietário. Selecione o modo Usar identidade designada para a função específica para usar um proprietário que está designado à função de segurança especificada para executar os métodos do bean. Essa associação faz parte da ligação do aplicativo no qual a função está
associada com o ID do usuário e a senha de um usuário ao qual essa função foi
concedida. Ao selecionar o modo Usar identidade designada para a função específica, deve-se especificar um nome de função e a descrição da função.
- Selecione um ou mais enterprise beans da lista de beans localizados e clique em Avançar. Se Avançar não estiver disponível, clique em Concluir.
- Opcional: Na página Elementos do Método, selecione um
ou mais elementos do método para a identidade de segurança e clique em
Concluir.
- Feche o Deployment Descriptor Editor e, quando solicitado, clique em Sim para salvar as alterações.
Resultados
Depois de proteger um aplicativo EJB, o arquivo
.jar resultante contém as informações de segurança em seu descritor de implementação. As informações de segurança dos módulos EJB são armazenadas no arquivo
ejb-jar.xml.
O que Fazer Depois
Depois de proteger um aplicativo EJB utilizando uma ferramenta de montagem, você pode instalar o aplicativo EJB utilizando o console administrativo. Durante a instalação de um aplicativo EJB protegido, siga as etapas no tópico, Implementando aplicativos protegidos, para concluir a tarefa de proteção do aplicativo EJB.