Substitution du sujet RunAs dans l'unité d'exécution pour JAAS

Pour étendre la fonction que procurent les API JAAS (Java™ Authentication and Authorization Service), vous pouvez attribuer au sujet RunAs ou au sujet de l'appel une entrée valide différente qui est utilisée pour les demandes sortantes sur cette unité d'exécution.

Avant de commencer

Vous devez disposer des droits d'accès de sécurité Java 2 suivants pour exécuter ces API :
  • permission javax.security.auth.AuthPermission "wssecurity.getRunAsSubject"
  • permission javax.security.auth.AuthPermission "wssecurity.getCallerSubject"
  • permission javax.security.auth.AuthPermission "wssecurity.setRunAsSubject"

Pourquoi et quand exécuter cette tâche

Avec cette extension, vous bénéficiez de la souplesse permettant d'associer le sujet à tous les appels éloignés sur cette unité d'exécution que vous utilisiez ou non une méthode WSSubject.doAs pour associer le sujet à l'action éloignée.

[z/OS]Un développeur d'applications peut utiliser la méthode WSSubject.doAs pour établir un sujet JAAS authentifié par un module de connexion JAAS comme l'identité de sécurité active de l'exécution de WebSphere Application Server à utiliser lors d'une action définie. WSSubject.doAs ne synchronise l'identité de l'unité d'exécution que si elle est appelée dans le cadre d'un composant configuré pour la synchronisation par rapport à l'unité d'exécution. Utilisée avec l'option de synchronisation de l'application avec le système d'exploitation, cette identité est définie sur l'unité d'exécution du système d'exploitation pour la portée de cette action.

Procédure

  1. Définissez un nouveau sujet RunAs pour l'unité d'exécution, en remplaçant celui défini déclarativement.
    com.ibm.websphere.security.auth.WSSubject.setRunAsSubject(caller_subject);  	 	 
  2. Effectuez des appels éloignés.
  3. Restaurez le sujet RunAs précédent.
    com.ibm.websphere.security.auth.WSSubject.setRunAsSubject(runas_subject);

Exemple

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();   // set a new RunAs subject for the thread, overriding the one declaratively set com.ibm.websphere.security.auth.WSSubject.setRunAsSubject(caller_subject);   // do some remote calls   // restore back to the previous runAsSubject com.ibm.websphere.security.auth.WSSubject.setRunAsSubject(runas_subject); } catch (WSSecurityException e) { // log error } catch (Exception e) { // log error }


Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsec_override
Nom du fichier : tsec_override.html