Substituindo o Subject RunAs no Encadeamento para JAAS

Para estender a função fornecida pelas APIs (Interfaces de Programação de Aplicativos) JAAS (Java™ Authentication and Authorization Service), é possível configurar o assunto RunAs ou o assunto de chamada com uma entrada válida diferente que é utilizada para pedidos de saída nesse encadeamento em execução.

Antes de Iniciar

Você precisa das seguintes permissões de segurança Java 2 para executar estas APIs:
  • permission javax.security.auth.AuthPermission "wssecurity.getRunAsSubject"
  • permission javax.security.auth.AuthPermission "wssecurity.getCallerSubject"
  • permission javax.security.auth.AuthPermission "wssecurity.setRunAsSubject"

Sobre Esta Tarefa

Esta extensão oferece a flexibilidade de associar o Assunto a todas as chamadas remotas neste encadeamento, caso você utilize um método WSSubject.doAs para associar o assunto à ação remota.

[z/OS]Um desenvolvedor de aplicativos pode usar o método WSSubject.doAs para estabelecer um assunto JAAS que é autenticado por um módulo de login do JAAS como a identidade de segurança ativa para o tempo de execução do WebSphere Application Server a ser utilizado ao desempenhar uma ação especificada. O WSSubject.doAs somente sincroniza a identidade do encadeamento quando é chamado dentro de um componente que esteja configurado para sincronizar para encadeamento. Quando utilizada com a opção Sincronização Permitida para Encadeamento de S.O. do aplicativo, esta identidade é definida no encadeamento do sistema operacional para o escopo dessa ação.

Procedimento

  1. Defina um novo assunto RunAs para o encadeamento, substituindo aquele definido declarativamente.
    com.ibm.websphere.security.auth.WSSubject.setRunAsSubject(caller_subject);  	 	 
  2. Execute algumas chamadas remotas.
  3. Restaure o objeto RunAs anterior.
    com.ibm.websphere.security.auth.WSSubject.setRunAsSubject(runas_subject);

Exemplo

try { javax.security.auth.Subject runas_subject, caller_subject; runas_subject = com.ibm.websphere.security.auth.WSSubject.getRunAsSubject(); caller_subject = com.ibm.websphere.security.auth.WSSubject.getCallerSubject();   // definir um novo assunto RunAs para o encadeamento, substituindo aquele definido declarativamente com.ibm.websphere.security.auth.WSSubject.setRunAsSubject(caller_subject);   // fazer algumas chamadas remotas   // restaurar para o runAsSubject anterior com.ibm.websphere.security.auth.WSSubject.setRunAsSubject(runas_subject); } catch (WSSecurityException e) { // registrar erro } catch (Exception e) { // registrar erro }


Ícone que indica o tipo de tópico Tópico de Tarefa



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsec_override
Nome do arquivo: tsec_override.html