The RunAs subject or invocation subject contains the user authentication information for the RunAs mode set in the application deployment descriptor for this method.
The RunAs subject (or invocation subject) contains the user authentication information for the RunAs mode set in the application deployment descriptor for this method. This subject is marked read-only when returned from the WSSubject.getRunAsSubject application programming interface (API) to prevent replacing existing objects. You can use this API to get access to the WSCredential credential, which is documented in the API documentation, so that you can put or set data in the hashmap within the credential.
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
}
Requirements: You need the Java 2 security permissions to run this API: permission javax.security.auth.AuthPermission "wssecurity.getRunAsSubject;".
Related concepts
Programmatic login