RunAs-Subject-Objekt aus dem Thread für JAAS abrufen
Das RunAs-Subject- oder Aufruf-Subject-Objekt enthält die Benutzerauthentifizierungsdaten für den RunAs-Modus, der im Implementierungsdeskriptor der Anwendung für diese Methode definiert ist.
Vorbereitende Schritte
Informationen zu diesem Vorgang
Das RunAs-Subject-Objekt (oder Aufruf-Subject-Objekt) enthält die Benutzerauthentifizierungsdaten für den RunAs-Modus, der im Implementierungsdeskriptor der Anwendung für diese Methode definiert ist. Wenn dieses Subject-Objekt von der API "WSSubject.getRunAsSubject" zurückgegeben wird, ist es als schreibgeschützt markiert, um zu verhindern, dass vorhandene Objekte ersetzt werden.
Die meisten Daten im Subject-Objekt werden nicht an nachgeschaltete Server weitergegeben. Nur das Berechtigungstoken im Berechtigungsnachweis WSCredential wird an nachgeschaltete Server weitergegeben, und es wird ein neues Caller-Subject-Objekts generiert.
Vorgehensweise
- Rufen Sie den WSCredential-Berechtigungsnachweis auf. Der WSCredential-Berechtigungsnachweis ist in der API-Dokumentation dokumentiert.
- Speichern oder definieren Sie Daten in der Hashtabelle im Berechtigungsnachweis.
Beispiel
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 }