Protegendo Recursos JAX-RS de Recebimento de Dados
É possível proteger recursos Java™ API for RESTful Web Services (JAX-RS) de recebimento de dados configurando o método BasicAuth para autenticação e usando o manipulador de segurança LTPA JAX-RS para tirar vantagem da conexão única para a autenticação do usuário.
Antes de Iniciar
- Você definiu para o seu servidor de aplicativos um perfil de célula que está associado na célula do gerenciador de implementação.
- Você instalou o seu aplicativo JAX-RS no servidor de aplicativos.
- Você ativou a segurança para o seu aplicativo JAX-RS.
- Você protegeu seus aplicativos JAX-RS dentro do contêiner da Web configurando aplicativos JAX-RS de recebimento de dados para usar o métodos de autenticação básica (BasicAuth) para autenticação de usuário.
Sobre Esta Tarefa
Ao compor recursos JAX-RS, um novo manipulador de segurança LTPA JAX-RS pode ser usado para autenticar de maneira transparente as chamadas de recurso de recebimento de dados.
Ao chamar recursos JAX-RS seguros de recebimento de dados, o aplicativo de chamada é obrigado a autenticar para o recurso de destino. Se o recurso de destino em um servidor de recebimento de dados usar o método BasicAuth para segurança, o aplicativo de chamada pode tirar vantagem da conexão única (SSO) para recursos JAX-RS. Usando uma conexão única, um contexto autenticado é propagado juntamente com as chamadas de recebimento de dados. É possível usar o manipulador do cliente de segurança baseado em LTPA para autenticar os recursos de recebimento de dados que são distribuídos entre servidores de um ambiente de célula.
Para ilustrar esse cenário, suponha que você tem dois servidores na sua célula, e que você implementou recursos JAX-RS em ambos os servidores. Suponha que de um recurso em server1 você precisa chamar outro recurso que está implementado no server2. Quando os recursos do server2 são protegidos usando o método BasicAuth para autenticação, use o manipulador de segurança LTPA JAX-RS para tirar vantagem da conexão única e propagar de forma transparente a autenticação do usuário em chamadas de recebimento de recursos sem ter de fornecer ou gerenciar identidades e senhas de usuário no aplicativo.

Use as seguintes etapas para configurar a autenticação de usuário para um servidor de recebimento de dados usando o manipulador de segurança JAX-RS no tempo de construção do aplicativo.
Procedimento
Resultados
Você definiu recursos JAX-RS seguros dentro do seu ambiente de célula de forma que quando os recursos de recebimento de dados são chamados, é possível usar conexão única e propagar de forma transparente a autenticação do usuário em chamadas de recebimento de recursos sem ter de fornecer ou gerenciar identidades e senhas de usuário no aplicativo.
Exemplo
import org.apache.wink.client.Resource;
import org.apache.wink.client.RestClient;
import org.apache.wink.client.ClientConfig;
import org.apache.wink.client.handlers.LtpaAuthSecurityHandler;
ClientConfig config = new ClientConfig();
LtpaAuthSecurityHandler secHandler = new LtpaAuthSecurityHandler();
// Add this security handler to the handlers chain.
config.handlers(secHandler);
// Create the REST client instance.
RestClient client = new RestClient(config);
// Crie a instância de recurso com a qual deseja interagir.
// Substitua um valor que representa o seu endereço de recurso
resource =
client.resource("http://localhost:8080/path/to/resource");
// Agora você está pronto para começar a chamar o seu recurso.
ClientBuilder cb = ClientBuilder.newBuilder();
Client c = cb.build();
c.property("com.ibm.ws.jaxrs.client.ltpa.handler", "true");
String res = "";
res = c.target("http://" + serverIP + ":" + serverPort + "/" + moduleName + "/rest/ltpa")
.request()
c.close();
return res;