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.
Execute o instalador do Java SDK, especificando um diretório de instalação da sua escolha e aceitando as opções padrão.
Escolha complementos que incluem o gerenciador de acesso Sun Java System.
Continue a executar o instalador, quando ele estiver concluído, inicie o servidor e selecione Finalizar.
Inicie o IDE.
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.
Clique em Próximo. A página Local da pasta da plataforma é aberta.
No campo Localização da plataforma, use o botão Explorar para navegar e selecionar o diretório que contém o Java Application Plataform SDK que você acabou de instalar.
Clique em Terminar.
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.
Verificando a configuração da instalação do gerenciador de acesso
Na janela Serviços, expanda o nó Gerenciadores de acesso Sun Java System. Clique com o botão direito do mouse no nó Gerenciador de acesso e selecione a ação Exibir console de administração.
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 .
Na janela Tempo de execução, expanda o nó Servidores, clique com o botão direito do mouse no nó GlassFish do SDK do Java EE 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.
Dois projetos de tutorial são StockQuoteServer e StockQuoteClient.
Para criar o projeto StockQuoteService:
No menu principal do IDE, escolha Arquivo > Novo projeto.
Na lista Categorias, expanda o nó Amostras e selecione o nó Identity Blueprints.
Na lista Projetos, selecione Stock Service.
Clique em Próximo.
Aceite o nome de projeto padrão (StockQuoteServer) e, opcionalmente, altere a Localização do projeto.
Clique em Terminar.
Para criar o projeto StockQuoteClient:
No menu principal do IDE, escolha Arquivo > Novo projeto.
Na lista Categorias, expanda o nó Amostras e selecione o nó Identity Blueprints.
Na lista Projetos, selecione StockQuoteClient.
Clique em Próximo.
Aceite os valores padrão do Nome de projeto (StockQuote Client) e da Localização do projeto.
Clique em Terminar.
A janela Projetos agora contém um nó do projeto StockQuote Client.
Se você instalou o NetBeans IDE com o servidor GlassFish v2 incluído, ele agora está selecionado como o servidor padrão para ambos os projetos de amostra. Você precisa selecionar o Java EE SDK Glassfish.
Para alterar os servidores do projeto para Java EE SDK Glassfish:
Abra a aba Projetos.
Clique com o botão direito do mouse no nó do projeto StockQuoteService e selecione Propriedades.
Selecione a categoria Executar.
Abra a lista suspensa Servidor: e selecione Java EE SDK Glassfish
Clique em OK.
Repita essas etapas para o projeto StockQuoteClient.
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:
Na janela Tempo de execução, expanda o nó Gerenciadores de acesso Sun Java System, em seguida, expanda os nós Perfis.
Selecione o nó SAML-HolderOfKey
Clique com o botão direito do mouse e escolha Editar. A caixa de diálogo Editar perfil SAML-HolderOfKey é aberta.
Desmarque a caixa de verificação Assinar resposta.
Em Configurações de certificado existentes, deixe marcada a caixa de verificação Usar armazenamento de chaves padrão.
Clique em OK.
Para configurar o provedor de serviços Web:
Na janela Projetos, expanda o nó do projeto StockQuoteService e o nó Serviços da Web.
Nos Serviços 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 janela StockService se abre com a aba Segurança AM selecionada.
Marque a caixa de verificação Ativar segurança de nível de mensagem.
Na lista suspensa Solicitação, selecione o mecanismo de segurança SAML-HolderOfKey.
Clique em OK.
Para configurar o cliente de serviços Web:
Na janela Projetos, expanda o nó StockQuoteClient e o nó Referências de serviço Web.
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.
Marque a caixa de verificação Ativar segurança de nível de mensagem.
Na lista suspensa Solicitação, selecione o mecanismo de segurança SAML-HolderOfKey.
Configurações de certificado existentes. Confirme se a caixa de verificação Usar armazenamento de chaves padrão está selecionada.
Clique em OK.
Se os ícones de erro aparecerem nas Referências de serviços Web do StockQuoteClient, implante o projeto StockQuoteService (clique com o botão direito do mouse no nó do projeto do serviço e selecione Desimplantar e implantar) e atualize o cliente (clique com o botão direito do mouse no nó de referência do serviço Web e selecione Atualizar cliente).
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:
Na janela Tempo de execução, expanda o nó Gerenciadores de acesso Sun Java System, em seguida, expanda os nós Perfis.
Selecione o nó UserNameToken, clique com o botão direito do mouse e escolha Editar. A caixa de diálogo Editar perfil UserNameToken é aberta.
Selecione Usar armazenamento de chaves padrão.
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.
No campo Nome de usuário, digite sherry. No campo Senha, digite mypw e clique em OK.
Clique em OK para fechar a caixa de diálogo Editar perfil UserNameToken.
Para configurar o provedor de serviços Web:
Na janela Projetos, expanda o nó StockQuoteService e o nó Serviços Web.
Nos Serviços 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 janela StockService se abre com a aba Segurança AM selecionada.
Marque a caixa de verificação Ativar segurança de nível de mensagem.
Na lista suspensa Solicitação, selecione o mecanismo de segurança UserNameToken.
Clique em OK.
Para configurar o cliente de serviços Web:
Na janela Projetos, expanda o nó StockClient. No projeto StockClient, expanda o nó Referências do serviço 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 cliente de serviços Web é aberta.
Marque a caixa de verificação Ativar segurança de nível de mensagem.
Na lista suspensa Solicitação, selecione o mecanismo de segurança UserNameToken.
No campo Nome de usuário, digite sherry e no campo Senha, digite mypw.
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.
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 exibe http://localhost:8080/stockquoteclient/
Clique em Enviar.
Você pode clicar na parte "Visualizar mensagens SOAP" da exibição para ver as mensagens SOAP associadas a esta solicitação.
Na janela Projetos, clique com o botão direito do mouse no nó do projeto StockQuoteClient e escolha Executar projeto no menu pop-up.
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 aceitado os valores padrão durante a instalação, este seria o diretório C:\Sun\AppServer\domains\domain1\logs.
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.
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:
Na janela Projetos, expanda StockQuoteClient > Páginas da Web > WEB-INF e wsdl, e abra o arquivo stock.wsdl no editor.
Clique no botão Fonte para alternar para a exibição Fonte do arquivo.
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/"/>
Substitua o valor 8080 pelo número da porta onde o servidor da aplicação está instalado.
Para obter respostas para quaisquer outras perguntas que você tenha sobre a proteção dos serviços Web por meio do NetBeans 6.0, consulte NetBeansUserFAQ no NetBeans wiki.
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
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
.