FeaturesPluginsDocs & SupportCommunityPartners

Protegendo serviços Web usando os perfis SAML ou UserNameToken

Este tutorial mostra como você pode ativar a autenticação baseada em SAML e em UserNameToken entre um cliente de serviços Web e um provedor de serviços Web, por meio do gerenciador de acesso interno, junto com o suporte integrado para o padrão WS-Security no cliente de serviços Web do servidor da aplicação e nos contêineres do lado do servidor.

Duração esperada: 40 minutos

Requisitos do tutorial

O NetBeans 6.0 vem com todos os tempos de execução necessários para permitir que você comece a desenvolver clientes e provedores de serviços Web seguros e ativados por identidade. Esses tempos de execução incluem:

  • Java Application Server SDK Update 3 Beta
  • Sun Java System Access Manager 7.1 e Policy Agent 2.2 for Web Services

Antes de prosseguir, revise os requisitos nesta seção.

Pré-requisitos

Este tutorial presume que você tenha algum conhecimento básico ou experiência de programação com as tecnologias Java e os Serviços Web.

Software necessário para este tutorial

Antes de começar, você deve instalar o seguinte software no seu computador:

  • NetBeans 6.0

    Selecione a opção Download completo.
  • Sun Java System Access Manager 7.1- Obtido do Java Application Platform SDK atualização 2 ou superior.(download)

início

Instalando o gerenciador de acesso Sun Java System

Se você já tiver instalado e configurador o gerenciador de acesso anteriormente, verifique seu userdir e, caso exista, exclua o arquivo

[Your_Userdir]/AccessManager/AMConfig_opt_SUNWappserver_domains)domain1_applications_j2ee-modules_amserver_

antes de começar uma nova instalação.

Para instalar o gerenciador de acesso Sun Java System, você deve primeiro instalar o NetBeans IDE completo. Próximo,

  1. Obtenha o Java Application Platform SDK atualização 2 ou superior em http://java.sun.com/javaee/downloads/index.jsp.
  2. Execute o instalador do Java SDK, especificando um diretório de instalação da sua escolha e aceitando as opções padrão.
  3. Escolha complementos que incluem o gerenciador de acesso Sun Java System.
  4. Continue a executar o instalador, quando ele estiver concluído, inicie o servidor e selecione Terminar.
  5. Inicie o IDE.
  6. Na aba Serviços, selecione o nó Servidores. Clique com o botão direito do mouse no nó Servidores e escolha Adicionar servidor no menu pop-up. A caixa de diálogo Adicionar instância do servidor é aberta.
  7. Clique em Próximo. A página Local da pasta da plataforma é aberta.
  8. No campo Localização da plataforma, use o botão Explorar para navegar e selecionar o diretório que contém o Java Application Platform SDK que você acabou de instalar.
  9. Clique em Terminar.
  10. O gerenciador de acesso Sun Java System aparece como um nó na aba Serviços no servidor da aplicação que você acabou de instalar. Você deve iniciar o Servidor da aplicação para começar a trabalhar com o Gerenciador de acesso Sun Java System.

    início

Verificando a configuração da instalação do gerenciador de acesso

  1. Na janela Serviços, expanda o nó Gerenciadores de acesso Sun Java System.
  2. Em seguida, você é redirecionado para a página Logon, que é exibida imediatamente em logons sucessivos. Você pode fazer logon no gerenciador de acesso Sun Java System. A página Logon se abre, indicando que o servidor do gerenciador de acesso está em execução.

Você precisa configurar o Gerenciador de acesso para que seja executado corretamente. Ele é configurado por padrão quando você inicia pela primeira vez o Servidor Glassfish obtido a partir do SDK, mas é possível reconfigurá-lo mais tarde, se necessário. Para obter mais informações, verifique o arquivo [your_SDKGlassfish_location]/addons/README.html .

início

Configurando o ambiente do tutorial

  1. Inicie o IDE.
  2. Para verificar se o servidor da aplicação Sun Java System está configurado no IDE, clique na Tempo de execução e expanda o nó Servidores.
  3. Se o nó Servidores não contiver um nó Servidor da aplicação Sun Java System 9, siga as etapas de Adicionando um servidor da aplicação.
  4. Na janela Tempo de execução, expanda o nó Servidores, clique com o botão direito do mouse no nó Sun Java System Application Server 9 e escolha Iniciar no menu pop-up.
    Espere até que a mensagem seguinte apareça na janela Saída:
    Inicialização do servidor da aplicação concluída.
    Quando o servidor está em execução, o IDE exibe um símbolo de seta verde no nó Servidor da aplicação Sun Java System 9.
    Observação: se a opção Iniciar não estiver disponível, seu servidor já está em execução.

início

Criando os projetos do tutorial

Dois projetos de tutorial são StockQuoteServer e StockQuoteClient.

Para criar o projeto StockQuoteServer:

  1. No menu principal do IDE, escolha Arquivo > Novo projeto.
  2. Na lista Categorias, expanda o nó Amostras e selecione o nó Identity Blueprints.
  3. Na lista Projetos, selecione Stock Service.
  4. Clique em Próximo.
  5. Aceite o nome de projeto padrão (StockQuoteServer) e, opcionalmente, altere a Localização do projeto.
  6. Clique em Terminar.

Para criar o projeto StockQuoteClient:

  1. No menu principal do IDE, escolha Arquivo > Novo projeto.
  2. Na lista Categorias, expanda o nó Amostras e selecione o nó Identity Blueprints.
  3. Na lista Projetos, selecione Stock Client.
  4. Clique em Próximo.
  5. Aceite os valores padrão do Nome de projeto (Stock Client) e a Localização do projeto.
  6. Clique em Terminar.
    A janela Projetos agora contém um nó do projeto Stock Client.

início


Protegendo serviços Web: usando o mecanismo de segurança SAML-HolderOfKey

Neste cenário, estamos usando o perfil de segurança SAML-HolderOfKey, sem resposta assinada, e o armazenamento de chave padrão. Para fazê-lo, primeiro iremos editar o perfil de símbolo do gerenciador de acesso e, em seguida, configurar o provedor e o cliente de serviços Web.

Para editar o perfil SAML-HolderOfKey:

  1. Na janela Tempo de execução, expanda o nó Gerenciadores de acesso Sun Java System, em seguida, expanda os nós Instância padrão e Perfis.
  2. Selecione o nó SAML-HolderOfKey
  3. Clique com o botão direito do mouse e escolha Editar.
    A caixa de diálogo Editar perfil SAML-HolderOfKey é aberta.
  4. Desmarque a caixa de verificação Assinar resposta.
  5. Em Configurações de certificado existentes, deixe marcada a caixa de verificação Usar armazenamento de chaves padrão.
  6. Clique em OK.

Para configurar o provedor de serviços Web:

  1. Na janela Projetos, expanda o nó do projeto StockQuoteService e o nó Serviços Web.
  2. Encontre o nó Serviços Web, clique com o botão direito do mouse no nó StockService e selecione Editar atributos do serviço Web no menu pop-up. A caixa de diálogo Configuração de segurança do cliente de serviços Web é aberta.
  3. Marque a caixa de verificação Ativar segurança de nível de mensagem.
  4. Em Mecanismo de segurança, na lista suspensa Solicitar, selecione SAML-HolderOfKey.
  5. Clique em OK .

Para configurar o cliente de serviços Web:

  1. Na janela Projetos, expanda o nó StockQuoteClient e o nó Referências de serviço Web.
  2. No nó Referência de serviço Web, clique com o botão direito do mouse no nó StockService e escolha Editar atributos do serviço Web no menu pop-up.
    A caixa de diálogo Configuração de segurança do cliente de serviços Web é aberta.
  3. Marque a caixa de verificação Ativar segurança de nível de mensagem.
  4. Em Mecanismo de segurança, na lista suspensa Solicitar, selecione SAML-HolderOfKey.
  5. Configurações de certificado existentes. Confirme se a caixa de verificação Usar armazenamento de chaves padrão está selecionada.

  6. Clique em OK.

 

Você agora pode implantar e executar a amostra, seguindo as instruções existentes em Implantando e executando o projeto.

início

Protegendo os serviços Web: usando um mecanismo de segurança UserNameToken

Neste cenário, estamos usando o perfil de segurança UserNameToken, com resposta assinada, e o armazenamento de chave padrão. Para fazê-lo, primeiro iremos editar o perfil de token do gerenciador de acesso e, em seguida, configurar o provedor e o cliente do serviço Web.

Para editar o perfil UserNameToken:

  1. Na janela Tempo de execução, expanda o nó Gerenciadores de acesso Sun Java System, em seguida, expanda os nós Instância padrão e Perfis.
  2. Selecione o nó UserNameToken, clique com o botão direito do mouse e escolha Editar.
    A caixa de diálogo Editar perfil UserNameToken é aberta.
  3. Encontre Configurações de certificado existentes e confirme se a caixa de verificação Usar armazenamento de chaves padrão está selecionada.
  4. Informações do perfil de token do nome de usuário. Clique no botão Adicionar para adicionar um registro UserNameToken do cliente do serviço Web.
    A caixa de diálogo Adicionar usuário é aberta.
  5. No campo Nome de usuário, digite sherry, no campo Senha, digite mypw e clique em OK.

  6. Clique em OK para fechar a caixa de diálogo Editar perfil UserNameToken.

Para configurar o provedor de serviços Web:

  1. Na janela Projetos, expanda o nó StockQuoteService e o nó Serviços Web.
  2. Encontre o nó Serviços Web. Clique com o botão direito do mouse no nó stockservice e escolha Editar atributos de serviço Web no menu pop-up.
    A caixa de diálogo Configuração de segurança do provedor de serviços Web é aberta.
  3. Marque a caixa de verificação Ativar segurança de nível de mensagem.
  4. Em Mecanismo de segurança, na lista suspensa Solicitar, selecione UserNameToken.

  5. Clique em OK.

Para configurar o cliente de serviços Web:

  1. Na janela Projetos, expanda o nó StockClient e o nó Referências de serviços Web.
  2. Encontre o nó Referências de serviço Web. Clique com o botão direito do mouse no nó Stock service e escolha Editar atributos do serviço Web no menu pop-up.
    A caixa de diálogo Configuração de segurança do cliente de serviços Web é aberta.
  3. Marque a caixa de verificação Ativar segurança de nível de mensagem.
  4. Em Mecanismo de segurança, na lista suspensa Solicitar, selecione UserNameToken.
  5. No campo Nome de usuário, digite sherry e no campo Senha, digite mypw.
  6. Marque a caixa de verificação Verificar resposta.
  7. Encontre Configurações de certificado existentes e confirme se a caixa de verificação Usar armazenamento de chaves padrão está selecionada.

  8. Clique em OK.

Você agora pode implantar e executar a amostra, seguindo as instruções existentes em Implantando e executando o projeto.

início

Implantando e executando o projeto

  1. Na janela Projetos, clique com o botão direito do mouse no nó do projeto StockQuoteService e escolha Desimplantar e implantar projeto.
    O IDE realiza os seguintes procedimentos:
    • Inicia o servidor da aplicação, caso ele ainda não tenha sido iniciado.
    • Constrói o projeto StockQuoteService. Você pode ver os resultados da construção na janela Saída.
    • Implanta server.war no servidor da aplicação.
  2. Na janela Projetos, clique com o botão direito do mouse no nó do projeto StockQuoteClient e escolha Executar projeto.
    O IDE realiza os seguintes procedimentos:
    • Constrói o projeto StockQuoteClient. Você pode ver os resultados da construção na janela Saída.
    • Implanta client.war no servidor da aplicação.
    • Abre a aplicação no navegador.
    • Confirme se o campo URL sempre exibe:
      http://localhost:8080/stockquoteclient/

  3. Clique em Enviar.

    Você pode clicar na parte "Visualizar mensagens SOAP" da exibição para ver as mensagens SOAP associadas a esta solicitação.

início

Explorando os arquivos de log

As instruções desta seção são opcionais. Use estas instruções para visualizar as alterações nos arquivos de log.

  1. Antes de prosseguir para a próxima etapa, ative o nível de registro ótimo.
    Siga as instruções existentes em Alterando o nível de segurança no servidor da aplicação.
  2. Na janela Projetos, clique com o botão direito do mouse no nó do projeto StockQuoteClient e escolha Executar projeto no menu pop-up.
  3. Abra o arquivo de log do servidor da aplicação (server.log) no seguinte diretório: diretório-de-instalação-do-servidor-da-aplicação\domains\domain1\logs.
    Caso você tenha aceito os valores padrão durante a instalação, este seria o diretório C:\Sun\AppServer\domains\domain1\logs.
  4. Observe as alterações no arquivo de log.
    O arquivo de log é editado para mostrar que os módulos estão usando os métodos definidos nos painéis de configuração.
    As amostras das seções do arquivo de log modificado estão disponíveis nos links abaixo.

início

Tarefas de configuração adicionais

Esta seção fornece informações sobre tarefas de configuração adicionais que talvez você queira realizar.

início

 

Informações de configuração do servidor da aplicação não instalado na porta 8080

Se a instalação do servidor da aplicação Sun Java System foi feita em uma porta diferente da 8080, você deve realizar as etapas de configuração adicionais mostradas abaixo:

  1. Na janela Projetos, expanda StockQuoteClient > Páginas da Web > WEB-INF e wsdl, e abra o arquivo stock.wsdl no editor.
  2. Clique no botão Fonte para alternar para a exibição Fonte do arquivo.
  3. Role para o fim do arquivo e localize a linha seguinte:
    <soap:address location="http://localhost:8080/stockservice/stockservice" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"/>
  4. Substitua o valor 8080 pelo número da porta onde o servidor da aplicação está instalado.
  5. Salve suas alterações e feche o arquivo .

início

Alterando o nível de segurança no servidor da aplicação

  1. Na janela Tempo de execução, clique com o botão direito do mouse no nó Servidor da aplicação Sun Java System 9 e escolha Exibir console de administração.
  2. Digite admin como o nome de usuário e adminadmin como a senha.
  3. No quadro de navegação esquerdo, clique no link do servidor da aplicação.
  4. No quadro direito, clique na Registro e na Níveis de registro.

    Console de administração do servidor da aplicação,  Níveis de registro, clique para aumentar

  5. Role para o fim da página e defina a Segurança como ÓTIMA.

    Console de administração do servidor da aplicação, Configuração de segurança, clique para aumentar

  6. Clique no botão Salvar e faça logoff.

início

Referências

início

Resumo

Neste tutorial, aprendemos como ativar a autenticação baseada em SAML e baseada em UserNameToken entre um cliente de serviço Web e um provedor de serviço Web. Para fazer isso, nós

início

Próximas etapas

  • Para saber mais sobre o Gerenciamento do Identity, consulte os tópicos de Ajuda apropriados no NetBeans IDE.

  • Para enviar comentários e sugestões, obter suporte e manter-se informado sobre as alterações mais recentes nos recursos de desenvolvimento do NetBeans IDE , junte-se à lista de usuários em .



início

>> Mais documentação do Identity

Bookmark this page

del.icio.us furl simpy slashdot technorati digg
Companion
Projects:
MySQL Database Server   Open JDK: an Open SourceJDK   GlassFish Community: an Open Source Application Server    Mobile & Embedded Community    Open Solaris   java.net - The Source for Java Technology Collaboration   Open ESB - The Open Enterprise Service Bus Powered by