Obtención del sujeto RunAs de la hebra para JAAS
El sujeto RunAs, o sujeto de invocación, contiene la información de autenticación de usuario para la modalidad RunAs que se establece en el descriptor de despliegue de aplicaciones para este método.
Antes de empezar
Acerca de esta tarea
El sujeto RunAs (o sujeto de invocación) contiene la información de autenticación del usuario para la modalidad RunAs que se establece en el descriptor de despliegue de aplicaciones para este método. Este sujeto se marca de sólo lectura cuando se devuelve desde la interfaz de programación de aplicaciones (API) WSSubject.getRunAsSubject() para que no se sustituyan los objetos existentes.
La mayoría de los datos del sujeto no se propagan en sentido descendente a otro servidor. Sólo el símbolo de credencial incluido en WSCredential se propaga en sentido descendente y se genera un nuevo sujeto de emisor.
Procedimiento
- Acceda a la credencial WSCredential. La credencial WSCredential se describe en la documentación de API.
- Ponga o establezca los datos en el hashmap de la credencial.
Ejemplo
try { javax.security.auth.Subject runas_subject;
com.ibm.websphere.security.cred.WSCredential runas_cred;
runas_subject = com.ibm.websphere.security.auth.WSSubject.getRunAsSubject();
if (runas_subject != null) { runas_cred = runas_subject.getPublicCredentials
com.ibm.websphere.security.cred.WSCredential.class).iterator().next();
String RUNASDATA = (String) runas_cred.get ("MYKEY")
System.out.println("My data from the RunAs credential is: " + RUNASDATA ); } }
catch (WSSecurityException e) { // log error } catch (Exception e) { // log error }