Benutzerberechtigung für Scheduler-Task

Der Scheduler verwendet das verzögerte Startverfahren für Concurrency Utilities for Java™ EE, um Java-EE-Servicekontextdaten an eine Task weiterzuleiten, wenn diese ausgeführt wird. Falls Sie Ihre Anwendung mit dem JAAS-Sicherheitskontext der Verwaltungssicherheitsverfahren sichern möchten, die in WebSphere Application Server integriert sind, erstellen Sie jede Task mit den erforderlichen Berechtigungsnachweisen im Thread.

Tasks werden wie folgt mit Sicherheitsberechtigungsnachweisen ausgeführt:
  • Es wird der JAAS-Sicherheitskontext des Threads vom Zeitpunkt der Taskerstellung verwendet. Lesen Sie in der Dokumentation zur Parallelität den Artikel "Verzögerter Start und Sicherheit".
  • Es wird die Methode "setAuthenticationAlias" für das TaskInfo-Objekt verwendet.
  • Es wird eine angegebene Sicherheitsidentität für eine TaskHandler-EJB-Methode für eine BeanTaskInfo-Task verwendet.

Der Scheduler verwendet das verzögerte Startverfahren für Concurrency Utilities for Java EE, um Java-EE-Servicekontextdaten an eine Task weiterzuleiten, wenn diese ausgeführt wird. Der Umfang der weitergegebenen Servicekontextdaten wird mit den Einstellungen für den Servicekontext in dem WorkManager-Konfigurationsobjekt gesteuert, auf das die Scheduler verweisen. Beispielsweise können Kontexte für die Sicherheit und den Service zur Internationalisierung aktiviert werden. In der Dokumentation zur Parallelität wird beschrieben, wie der Anwendungsserver für die Weitergabe dieser Servicekontexte konfiguriert werden kann.

JAAS-Sicherheitskontext (Java Authentication and Authorization Service)

Falls Sie Ihre Anwendung mit dem JAAS-Sicherheitskontext der Verwaltungssicherheitsverfahren sichern möchten, die im Produkt integriert sind, erstellen Sie jede Task mit den erforderlichen Berechtigungsnachweisen im Thread. Sobald jede Task die erforderlichen Berechtigungsnachweise besitzt, können Sie die Verwaltungssicherheit inaktivieren und anschließend erneut aktivieren, ohne Sicherheitsprobleme zu verursachen. Wenn Sie beim Erstellen der Scheduler-Task den Sicherheitskontext nicht aktivieren und die Sicherheit später in der Zielanwendung aktivieren, wird möglicherweise eine auf die Sicherheit bezogene Ausnahme oder eine Fehlernachricht angezeigt, z. B. SECJ0053E. Dieser Fehler kann auch angezeigt werden, wenn Scheduler auf verschiedenen Servern auf dieselben Tabellen zugreifen (redundante Scheduler in einem Cluster) und die Sicherheitseinstellungen voneinander abweichen.
Der JAAS-Sicherheitskontext ist nicht konfiguriert, wenn eine der folgenden Bedingungen zutrifft:
  • Die Verwaltungssicherheit ist inaktiviert.
  • Die Sicherheitskontextrichtlinien sind auf dem konfigurierten WorkManager für die zugeordnete Schedulerkonfiguration inaktiviert.
  • Für den Thread wurde kein Berechtigungsnachweis konfiguriert. Beispielsweise ist die Enterprise-Bean oder das Servlet, die bzw. das zum Erstellen der geplanten Task verwendet wird, nicht geschützt, oder die Task wurde mit einer WASScheduler MBean erstellt.
Wenn beim Erstellen der Task eine der zuvor erwähnten Bedingungen zutrifft, müssen Sie die Sicherheit im Anwendungsserver oder in der Anwendung aktivieren. Führen Sie dazu für jede Task die folgenden Schritte durch:
  1. Suchen Sie mit den Methoden "find" und "get" der Scheduler-API nach der Task.
  2. Brechen Sie die Task mit der API Scheduler.cancel() ab.
  3. Verwenden Sie für die erneute Erstellung der Task die Methode "Scheduler.create()" mit aktivierter Sicherheit. Wenn Sie eine mit den Methoden "find" und "get" vom Scheduler abgerufene Task übergeben, wird automatisch eine neue Tas-ID generiert.

Ausführungspriorität

Wie bereits erwähnt, kann auf drei Arten sichergestellt werden, dass eine Task mit den richtigen Benutzerberechtigungsnachweisen ausgeführt wird. Darüber hinaus kann jede TaskInfo-Implementierung ihre eigene Methode für die Bereitstellung von Benutzerdaten haben, die die Standardmethoden außer Kraft setzen kann. Wenn mehrere Methoden verwendet werden, stellen Sie anhand der folgenden Liste fest, welches Sicherheitsverfahren implementiert werden soll.

BeanTaskInfo
  1. Für die Methode "process()" in der EJB-Datei festgelegte TaskHandler-Sicherheits-ID
  2. Mit der Methode "setAuthenticationAlias" der Schnittstelle "TaskInfo" festgelegter Authentifizierungsalias
  3. JAAS-Sicherheitskontext
MessageTaskInfo
  1. Mit der Methode "setAuthenticationAlias" der Schnittstelle "TaskInfo" festgelegter Authentifizierungsalias
  2. Die Methoden "setUsername" und "setPassword" der Schnittstelle ´"MessageTaskInfo". Weitere Informationen finden Sie im Artikel "Veraltete Features".

Symbol, das den Typ des Artikels anzeigt. Konzeptartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=csch_user
Dateiname:csch_user.html