Example: Getting the RunAs Subject from the Thread
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 theWSSubject.getRunAsSubject() application programming interface (API) to prevent replacing existing objects. Use this API to get access to the WSCredential (documented in the Javadoc information) so that one can put or set data in the hashmap within the credential.
Note: Most data within the Subject is not propagated downstream to another server. Only the credential token within the WSCredential is propagated downstream and a new Caller subject is generated.
runas_subject = com.ibm.websphere.security.auth.WSSubject.getRunAsSubject();
if (runas_subject != null)
runas_cred = runas_subject.getPublicCredentials(
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 following Java 2 Security permissions to run this API: permission javax.security.auth.AuthPermission "wssecurity.getRunAsSubject;".