Sun™ Identity Manager 8.0 Versionshinweise |
Erweiterungen und Korrekturen der Dokumentation
Dieser Abschnitt enthält neue Informationen und Korrekturen, die nach der Herausgabe der Identity Manager 8.0-Dokumentation bekannt wurden. Die Informationen sind wie folgt unterteilt:
Identity Manager 8.0 AdministrationDieser Abschnitt enthält eine Korrektur für das Dokument Sun Identity Manager Administration:
Identity Manager Technical Deployment OverviewDieser Abschnitt enthält neue Informationen und Dokumentationskorrekturen für das Dokument Sun Identity Manager Technical Deployment Overview:
Die folgenden Informationen werden dem Kapitel „Private Labeling of Identity Manager“ im Dokument Identity Manager Technical Deployment Overview hinzugefügt bzw. dort korrigiert:
Für die Endbenutzerseiten von Identity Manager legt das Benutzerformular für die Endbenutzer-Navigation in enduser.xml fest, wie die horizontale Navigationsleiste angezeigt wird. Die Endbenutzerseiten enthalten eine Datei userHeader.jsp, die wiederum eine weitere JSP-Datei namens menuStart.jsp enthält. Die Datei menuStart.jsp greift auf zwei Systemkonfigurationsobjekte zu:
Die CSS-Stilklassen, die bestimmen, wie das Menü dargestellt werden soll, befinden sich in style.css.
- Mit Hilfe von CSS-Stildefinitionen können Sie die Spaltenbreite in der Benutzer- und Ressourcenliste auf einen festen Pixelwert oder einen Prozentsatz einstellen. Fügen Sie customStyle.css dazu die folgenden Stilklassen (standardmäßig auskommentiert) hinzu. Die Werte können dann an die Anforderungen des Benutzers angepasst werden.
th#UserListTreeContent_Col0 {
width: 1px;
}th#UserListTreeContent_Col1 {
width: 1px;
}th#UserListTreeContent_Col2 {
width: 50%;
}th#UserListTreeContent_Col3 {
width: 50%;
}th#ResourceListTreeContent_Col0 {
width: 1px;
}th#ResourceListTreeContent_Col1 {
width: 1px;
}th#ResourceListTreeContent_Col2 {
width: 33%;
}th#ResourceListTreeContent_Col3 {
width: 33%;
}th#ResourceListTreeContent_Col4 {
width: 33%;
}
Sie können auch die Größe der Spalten ändern, indem Sie den rechten Rand der Spaltenüberschrift mit der Maus ziehen. Wenn Sie die Maus über den rechten Rand der Spaltenüberschrift ziehen, ändert sich der Mauszeiger in einen horizontalen Pfeil für Größenänderungen. Durch Klicken mit der linken Maustaste und Ziehen des Mauszeigers wird die Größe der Spalte geändert. (Die Größenänderung wird beim Loslassen der Maustaste beendet.)
- Kunden, die benutzerdefinierte JavaScript-Funktionen in der Endbenutzer-Navigationleiste (Registerkarten) verwenden wollen, müssen dieses Formular mithilfe von endUserNavigation referenzieren, z. B. document.forms['endUserNavigation'].elements. (ID-13769)
- Die Instanzen der Prüfungen, die in den Überwachungsprotokollen aufgezeichnet wurden, sind sowohl im Bedienfeld „Zugriffsprüfung“ als auch im Bericht über Zugriffsprüfungsdetails aufgeführt. Ohne Datenbankwartung werden die Überwachungsprotokolle nicht gekürzt und die Liste der Prüfungen wird immer größer. Identity Manager bietet die Möglichkeit, nur Prüfungen aus einem bestimmten Zeitraum anzeigen zu lassen. Um diese Grenze zu ändern, müssen Sie compliance/dashboard.jsp (für das Bedienfeld) und sample/auditortasks.xml (für den Detailbericht) entsprechend anpassen. (Standardmäßig werden nur Prüfungen angezeigt, die weniger als 2 Jahre alt sind.)
Um die Prüfungen zu beschränken, die im Bedienfeld „Zugriffsprüfung“ enthalten sind, passen Sie compliance/dashboard.jsp wie folgt an:
- Öffnen Sie entweder in der Identity Manager-IDE oder einem Editor Ihrer Wahl die Datei compliance/dashboard.jsp:
- Ändern Sie die Zeile form.setOption("maxAge", "2y"); auf form.setOption("maxAge", "6M"); , um die Liste auf Prüfungen zu beschränken, die in den letzten 6 Monaten durchgeführt wurden.
Folgende Kennzeichner werden verwendet:
Um alle Prüfungen anzuzeigen, die noch in den Überwachungsprotokollen enthalten sind, kommentieren Sie diese Zeile aus.
Um die Prüfungen im Bericht über Zugriffsprüfungsdetails zu beschränken, gehen Sie wie folgt vor:
Jede regelmäßige Zugriffsprüfung enthält eine Reihe von UserEntitlement-Datensätzen, die bei der Ausführung der Prüfung erstellt wurden. Diese Datensätze, die über die Zeit angesammelt wurden, enthalten wertvolle historische Informationen über die Konten. Um den verfügbaren Datenbankspeicherplatz möglichst effizient zu verwalten, sollten einige Datensätze u. U. gelöscht werden. Sie können einen Datensatz löschen, indem Sie Serveraufgaben > Aufgaben ausführen> Zugriffsprüfung löschen ausführen. Durch das Löschen einer Prüfung werden dem Überwachungsprotokoll neue Einträge hinzugefügt, die angegeben, dass die Prüfung gelöscht wurde. Zudem werden alle mit der Prüfung verbundenen UserEntitlement-Datensätze gelöscht, wodurch Datenbankspeicherplatz freigegeben wird.
- Codebeispiel 5-5 enthält Informationen, die in Codebeispiel 5-4 enthalten sein sollten:
Codebeispiel 5-4 sollte wie folgt aussehen:
Codebeispiel 5.5 sollte wie folgt aussehen:
Codebeispiel 5-5 Ändern von Registerkarten
table.Tab2TblNew td {background-image:url(../images/other/dot.gif);background-repeat:repeat-x;background-positi on:left top;background-color:#CCCCFF;border:solid 1px #8f989f}
table.Tab2TblNew td.Tab2TblSelTd {border-bottom:none;background-image:url(../images/other/dot.gif);background-repeat:repeat- x;background-position:left bottom;background-color:#FFF;border-left:solid 1px #8f989f;border-right:solid 1px #8f989f;border-top:solid 1px #8f989f}
Der Produktname in der Titelleiste des Browsers kann jetzt durch einen lokalisierbaren Text Ihrer Wahl ersetzt werden.
- Importieren Sie die folgende XML-Datei:
Codebeispiel 1 Zu importierende XML-Datei
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE Configuration PUBLIC 'waveset.dtd' 'waveset.dtd'>
<Configuration name='AltMsgCatalog'>
<Extension>
<CustomCatalog id='AltMsgCatalog' enabled='true'>
<MessageSet language='en' country='US'>
<Msg id='UI_BROWSER_TITLE_PROD_NAME_OVERRIDE'>Neuer Name</Msg>
</MessageSet>
</CustomCatalog>
</Configuration>
</Extension>
- Laden Sie mithilfe der Identity Manager-IDE das SystemConfiguration-Objekt zum Bearbeiten. Fügen Sie auf der obersten Hierarchieebene ein neues Attribut hinzu:
Name = customMessageCatalog
Type = string
Value = AltMsgCatalog
- Öffnen Sie das generische Objekt „ui.web“ und suchen Sie das Attribut browserTitleProdNameOverride. Setzen Sie diesen Wert auf „true“.
- Speichern Sie diese Änderung im SystemConfiguration-Objekt, und starten Sie den Anwendungsserver neu.
- Die Anleitung zum Anpassen von Anmeldeseiten im Abschnitt „Customizing Identity Manager End User Pages“ sollte die folgenden Informationen über Meldungsschlüssel enthalten. (ID-16072)
JSP- bzw. Identity Manager-Komponente
Betroffene Oberfläche
Meldungsschlüssel
Anmeldeseite - TITEL
Administrator/Endbenutzer
UI_LOGIN_TITLE_TO_RESOURCE
UI_LOGIN_CHALLENGE
Anmeldeseite - UNTERTITEL
Administrator/Endbenutzer
Wählen Sie je nach Anmeldemodus einen Schlüssel aus: Passwort vergessen, Benutzer-ID vergessen, Authentifizierung mittels geheimer Fragen.
UI_LOGIN_WELCOME3
UI_LOGIN_WELCOME4
UI_LOGIN_WELCOME5
UI_LOGIN_WELCOME6
UI_LOGIN_CHALLENGE_INFO
staticLogout.jsp und user/staticUserLogout.jsp
Administrator/Endbenutzer
UI_LOGIN_TITLE
continueLogin.jsp
Administrator
UI_LOGIN_IN_PROGRESS_TITLE
UI_LOGIN_WELCOME
- Die Anleitung „Changing the Default “Logged in as ...” Text“ sollte wie folgt korrigiert werden: (ID-18545)
- Nach der Aufzählung zu deactivateDate im Abschnitt „features“ von Anhang A, „Editing Configuration Objects“, sollte der folgende Hinweis eingefügt werden.
Hinweis
Sie können sowohl activateDate als auch deactivateDate auf true setzen, selbst wenn userAssignment.manual nicht diesen Wert hat. Wenn Sie beide Attribute für einen Rollentyp auf true setzen und wenn die Rolle optional in einer anderen Rolle enthalten ist, können Sie einen Aktivierungs- und Deaktivierungstermin festlegen, wenn Sie die optionale Rolle einem Benutzer zuweisen.
Den Standardtext „Angemeldet als“ ändern
- Importieren Sie die folgende XML-Datei:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE Configuration PUBLIC 'waveset.dtd' 'waveset.dtd'>
<Configuration name='AltMsgCatalog'>
<Extension>
<CustomCatalog id='AltMsgCatalog' enabled='true'>
<MessageSet language='en' country='US'>
<Msg id='UI_NAV_FOOT_LOG_AS'>Eigener Text {0}!</Msg>
</MessageSet>
</CustomCatalog>
</Extension>
</Configuration>
- Fügen Sie dem SystemConfiguration-Objekt die folgende Zeile innerhalb des <Configuration><Extension><Object>-Elements hinzu:
Identity Manager Workflows, Forms, and ViewsDieser Abschnitt enthält neue Informationen und Dokumentationskorrekturen für das Dokument Sun Identity Manager Workflows, Forms, and Views.
Kapitel 1, „Identity Manager Workflow“
Testen der automatischen Bescheinigung
Ermöglicht das Testen neuer Regeln für die Prüfungsbestimmung, ohne dafür Bescheinigungs-Arbeitselemente erstellen zu müssen. Dieser Arbeitsablauf erstellt keine Arbeitselemente und wird kurz nach dem Start beendet. Alle Benutzeranspruchsobjekte werden in dem Zustand belassen, den sie bei der Erstellung durch die Zugriffsabfrage hatten. Verwenden Sie die Optionen „Beenden“ und „Löschen“, um die in diesem Arbeitsablauf erhaltenen Ergebnisse der Zugriffsabfragen zu entfernen.
Sie können diesen Dummyarbeitsablauf nach Bedarf importieren. (Er wird nicht automatisch von Identity Manager importiert.)
- Identity Manager-Konformität setzt Arbeitsabläufe als Integrations- und Anpassungspunkte für die Anwendung ein. Die standardmäßigen konformitätsspezifischen Arbeitsabläufe sind im Folgenden beschrieben. (ID-15447)
Name des Arbeitsablaufs
Zweck
Korrektur
Korrektur für eine einzelne Korrekturfunktion, die mit einer einzelnen Konformitätsverletzung arbeitet
Korrektur der Zugriffsprüfung
Korrektur für eine einzelne Korrekturfunktion, die mit einer einzelnen UserEntitlement arbeitet
Bescheinigung
Bescheinigung für einen einzelnen Bescheiniger, der mit einem einzelnen UserEntitlement arbeitet
Multi Remediation
Korrektur für eine einzelne Konformitätsverletzung und mehrere Korrekturfunktionen
Update Compliance Violation
Mindert eine Konformitätsverletzung
Launch Access Scan
Startet eine Zugriffsabfrageaufgabe von einer Zugriffsprüfungsaufgabe
Launch Entitlement Rescan
Startet eine erneute Zugriffsabfrage für einen einzelnen Benutzer
Launch Violation Rescan
Startet eine erneute Überwachungsrichtliniensuche für einen einzelnen Benutzer
- Die Beschreibung der maxSteps-Eigenschaft wurde wie folgt überarbeitet: (ID-15618)
Gibt die maximale Anzahl der Schritte an, die in einem Arbeitsablaufvorgang oder untergeordneten Arbeitsablaufvorgang zulässig sind. Bei Überschreitung dieses Wertes wird der Arbeitsablauf von Identity Manager beendet. Diese Einstellung dient als Sicherheitsmaßnahme bei der Erkennung, ob sich ein Arbeitsablauf in einer Endlosschleife befindet. Der im Arbeitsablauf selbst festgelegte Standardwert beträgt 0 und gibt an, dass Identity Manager den tatsächlichen Wert von der globalen Einstellung abrufen muss, die im Attribut workflow.maxSteps des SystemConfiguration-Objekts gespeichert ist. Der Wert dieser globalen Einstellung beträgt 5000.
Führt auf der Grundlage des zur Verfügung gestellten Skripts Beanshell oder JavaScript aus. Dies kann als Aufgabe regelmäßig ausgeführt werden. Sie können diese Aufgabe z. B. im Rahmen der Berichterstellung und Analyse zum Exportieren von Daten vom Repository zu einer Datenbank verwenden. Zu den Vorteilen gehört die Möglichkeit, eine benutzerdefinierte Aufgabe zu schreiben, ohne dafür benutzerdefinierten Java-Code erzeugen zu müssen. (Benutzerdefinierter Java-Code muss bei jeder Aufrüstung neu kompiliert und auf jedem Server bereitgestellt werden, und da das Skript in die Aufgabe „Scripted Task Executor“ eingebettet ist, ist eine erneute Kompilierung und Bereitstellung nicht erforderlich.)
Kapitel 2, „Workflow Services“
- Die Argumenttabelle für die Workflow-Dienstsitzung createView ist falsch. In der folgenden Tabelle werden die für diesen Dienst verfügbaren Argumente beschrieben. (ID-14201)
Tabelle 1
Name
Erforderlich
Gültige Werte
Beschreibung
op
ja
createView
viewId
ja
Legt den Typ der Ansicht fest, die erstellt werden soll.
options
nein
Ansichtsspezifische Optionen. Die übergebenen Werte gelten nur für die verwendete Ansicht. Die häufigste Ansicht ist die Benutzeransicht (UserView).
Sie finden die Optionen in session.UserViewConstants. Optionskonstanten für einfachere Ansichten sollten in der Datei Viewer.java deklariert werden.
Die in Workflows am zweithäufigsten verwendete Ansicht ist ProcessViewer, gefolgt von PasswordViewer, DisableViewer, EnableViewer und RenameViewer. Diese haben nur vergleichsweise wenig Optionen.
- In der Beschreibung zum Workflow-Dienst disableUser muss klargestellt werden, dass dieser Dienst das Identity Manager-Konto sowie das Ressourcenkonto standardmäßig deaktiviert. (ID-14572) Übergeben Sie das folgende Argument, wenn das Identity Manager-Konto nicht deaktiviert werden soll:
Die Diskussion der Argumente dieser Methode muss wie folgt lauten:
Name
Erforderlich
Gültige Werte
Beschreibung
op
ja
disableUser
accountId
ja
Legt den Identity Manager-Benutzer fest, für den Konten deaktiviert werden sollen.
doWaveset
nein
true/false
true: Das Identity Manager-Konto ist deaktiviert. Wenn kein Wert angegeben ist, wird er standardmäßig auf true gesetzt, und das Konto wird deaktiviert.
services
nein
Eine Liste mit Ressourcen, die deaktiviert werden sollen. Wenn dieses Argument nicht angegeben wird, werden alle Ressourcenkonten des Benutzers deaktiviert.
- In diesem Dokument ist das Attribut viewId der Methoden checkoutView und createView irrtümlich als „viewid“ angegeben. Bitte beachten Sie, dass dieser Parameter richtig viewId heißt. (ID-15411)
- Das Kapitel enthält jetzt die folgende Beschreibung der Workflow-Dienste zum Sperren und Entsperren.(ID-17070)
Workflow-Bereitstellungsdienst „lock“
Sperren eines Objekts.
Argument
Erforderlich
Beschreibung
subject
nein
Effektiver Betreff für den Aufruf. Wenn nichts angegeben ist, verwendet Identity Manager das Attribut subject der Aufgabe. Wenn der Wert dieses Arguments leer ist, führt Identity Manager keine Autorisierung aus.
options
nein
(Map) Eine Wertematrix mit Optionsname/Optionswert-Paaren. Wenn nichts angegeben ist, werden die untenstehenden spezifischen Argumente verwendet. Wenn hier etwas angegeben ist, haben die untenstehenden spezifischen Argumente Vorrang vor den Argumenten in dieser Optionsmatrix.
accountId
nein
(Zeichenkette) Der Name des Identity Manager-Benutzers, der gesperrt werden soll.
adminName
nein
(Zeichenkette) Der Name des Administrators, der die Operation ausführt.
loginAppName
nein
(Zeichenkette) Der Anmeldename für die Anwendung.
op
ja
Gültiger Wert: unlock
Diese Methode gibt einen Nullwert zurück.
Workflow-Bereitstellungsdienst „unlock“
Entsperren eines gesperrten Objekts.
Tabelle 1
Argument
Erforderlich
Beschreibung
subject
nein
(Zeichenkette) Effektiver Betreff für den Aufruf. Wenn nichts angegeben ist, wird das Attribut „subject“ der Aufgabe verwendet. Wenn der Wert dieses Arguments leer ist, wird keine Autorisierung ausgeführt.
options
nein
(Map) Eine Wertematrix mit Optionsname/Optionswert-Paaren. Wenn nichts angegeben ist, verwendet Identity Manager die untenstehenden spezifischen Argumente. Wenn hier etwas angegeben ist, haben die untenstehenden spezifischen Argumente Vorrang vor den Argumenten in dieser Optionsmatrix.
accountId
nein
(Zeichenkette) Der Name des Identity Manager-Benutzers, der entsperrt werden soll.
adminName
nein
(Zeichenkette) Der Name des Administrators, der die Operation ausführt.
loginAppName
nein
(Zeichenkette) Der Anmeldename für die Anwendung.
doLighthouse
nein
(Boolean) Legt fest, ob das Identity Manager-Konto entsperrt werden soll oder nicht.
doResources
nein
(Boolean) Legt fest, ob die Benutzerressourcen entsperrt werden sollen oder nicht.
doAuthenticators
nein
(Boolean) Ist dieser Wert auf „true“ gesetzt, wird die gesamte Pass-Through-Authentifizierung entsperrt.
op
ja
Gültiger Wert: unlock
Diese Methode gibt ein WavesetResult-Objekt mit dem Ergebnis der Operation zurück.
Dient zum Entfernen einer verschobenen Aufgabe aus einem Identity Manager-Objekt. Identity Manager stellt sicher, dass der Administrator, der den Workflow aufgerufen hat, auch zum Entfernen des Objekts autorisiert ist.
Tabelle 2 Methodenargumente für „removeDeferredTask“
Name
Erforderlich
Gültige Werte
Beschreibung
Typ
nein
Typenliste
Der Typ des Objekts, aus dem die verschobene Aufgabe entfernt werden soll. Wenn nichts angegeben ist, wird „type“ standardmäßig auf user gesetzt.
name
ja
Der Name des Objekts, aus dem die verschobene Aufgabe entfernt werden soll.
task
Der Name der TaskDefinition, die entfernt werden soll.
Kapitel 3, „Identity Manager Forms“
Überwachungs- und Konformitätsformulare in Identity Manager zeichnen sich durch ein Merkmal aus, das andere Identity Manager-Formulare nicht aufweisen: Sie können solche Formulare auf Benutzer- und auf Organisationsebene zuweisen. Auf Benutzerebene zugewiesene Formulare können die Effizienz beim Verarbeiten von Bescheinigungen und Korrekturen steigern.
Sie können z. B. das Benutzerformular festlegen, das in Identity Manager zum Bearbeiten eines Benutzers im Zusammenhang mit einer Zugriffsprüfung, einer Korrektur oder einer Korrektur von Konformitätsverletzungen angezeigt wird. Das Benutzerformular kann auf Benutzer- oder Organisationsebene festgelegt werden. Wenn in Identity Manager ein Benutzer im Zusammenhang mit einer erneuten Zugriffsprüfungssuche oder Zugriffsprüfungskorrektur erneut geprüft wird, werden dabei die in der Zugriffsabfrage definierten Überwachungsrichtlinien berücksichtigt. Die Überwachungsrichtlinien zur Sicherstellung dauerhafter Konformität können in die Definition einbezogen werden.
Zusätzliche Informationen
- Eine Erläuterung der grundlegenden Überwachungs- und Konformitätskonzepte in Identity Manager sowie Anweisungen zum Implementieren grundlegender Überwachungs- und Konformitätsfunktionen finden Sie in Identity Manager Administration.
- Unter „Identity Manager Rules“ in Identity Manager Deployment Tools finden Sie allgemeine Erklärungen zu Regeln sowie nähere Informationen zu Korrekturregeln.
Formularverarbeitung zu Überwachungszwecken
Wie bei userForm und viewUserForm können Sie Formulare für einen Benutzer oder eine Organisation festlegen. Der Benutzer oder alle Benutzer in der Organisation arbeiten dann mit diesem Formular. Wenn Sie ein Formular für einen Benutzer und eine Organisation festlegen, hat das für den Benutzer eingestellte Formular Vorrang. Bei der Suche nach dem Formular durchsucht Identity Manager die Organisationen von unten nach oben.
Formulare für die Überwachung verhalten sich genauso wie Benutzer- und Benutzeranzeigeformulare: Jeder Benutzer kann ein Formular festlegen. Welches Formular ein Benutzer verwenden sollte, hängt von der Organisation des Benutzers ab.
Festlegen von Benutzerformularen
Die Formulare „Audit Policy List“ und „Access Scan List“ unterstützen die Eigenschaft fullView. Diese bewirkt, dass in den Formularen detaillierte Informationen zu den Listenelementen angezeigt werden. Setzen Sie diese Eigenschaft auf false, damit der Benutzer, der die Liste anzeigen lässt, effizienter arbeiten kann.
Das Formular „Access Approval List“ verfügt über eine ähnliche Eigenschaft, includeUE, und das Formular „Remediation List“ über die Eigenschaft includeCV.
Standardformulare für die Überwachung
In der folgenden Tabelle sind die Standardformulare für die Überwachung aufgeführt, die in Identity Manager enthalten sind.
Tabelle 2
Formularname
Zugeordneter Name
Zuweisung auf Benutzerebene
Zweck
Access Approval List
accessApprovalList
Zeigt eine Liste mit Bescheinigungs-Arbeitselementen an
Access Review Delete Confirmation
accessReviewDeleteConfirmation
Bestätigt das Löschen einer Zugriffsprüfung
Access Review Delete Confirmation
accessReviewAbortConfirmation
Bestätigt die Beendigung einer Zugriffsprüfung
Access Review Dashboard
accessReviewDashboard
Zeigt eine Liste mit allen Zugriffsprüfungen an
Access Review Remediation Form
accessReviewRemediationWorkItem
Ja
Zeigt alle UE-basierten Korrekturarbeitselemente an
Access Review Summary
accessReviewSummary
Zeigt die Details einer bestimmten Zugriffsprüfung an
Access Scan Form
accessScanForm
Zeigt eine Zugriffsprüfung an oder ermöglicht deren Bearbeitung
Access Scan List
accessScanList
Zeigt eine Liste mit allen Zugriffsabfragen an
Access Scan Delete Confirmation
accessScanDeleteConfirmation
Bestätigt das Löschen einer Zugriffsabfrage
Access Approval List
attestationList
Ja
Zeigt eine Liste aller anstehenden Bescheinigungen an
Attestation Form
attestationWorkItem
Ja
Zeigt alle Bescheinigungs-Arbeitselemente an
UserEntitlementForm
userEntitlementForm
Zeigt den Inhalt eines UserEntitlement an
UserEntitlement Summary Form
userEntitlementSummaryForm
Violation Detail Form
violationDetailForm
Zeigt die Details einer Konformitätsverletzung an
Remediation List
remediationList
Ja
Zeigt eine Liste mit Korrekturarbeitselementen an
Audit Policy List
auditPolicyList
Zeigt eine Liste mit Überwachungsrichtlinien an
Audit Policy Delete Confirmation Form
auditPolicyDeleteConfirmation
Bestätigt das Löschen einer Überwachungsrichtlinie
Conflict Violation Details Form
conflictViolationDetailsForm
Zeigt die SOD-Verletzungsmatrix an
Compliance Violation Summary Form
complianceViolationSummaryForm
Remediation Form
reviewWorkItem
Ja
Zeigt eine Konformitätsverletzung an
Warum sollten die Formulare angepasst werden?
Für die Bescheinigungs- und Korrekturfunktionen können Formulare angegeben werden, die genau die Details enthalten, mit denen sich die Effizienz beim Bescheinigen und Korrigieren erhöhen lässt. Der Bescheiniger für eine Ressource möchte sich z. B. bestimmte ressourcenspezifische Attribute im Listenformular anzeigen lassen und müsste beim Bescheinigen dann nicht mehr jedes Arbeitselement anzeigen lassen. Ein solches Formular würde je nach Ressourcentyp (und den entsprechenden Attributen) variieren. Es wäre daher sinnvoll, das Formular für einzelne Bescheiniger anzupassen.
Beim Bescheinigen hängt es von der Aufgabe des Bescheinigers ab, welche Ansprüche jeweils von Interesse sind. Der idmManager-Bescheiniger interessiert sich z. B. ganz allgemein für die Benutzeransprüche, ein Bescheiniger für eine Ressource dagegen nur für ressourcenspezifische Daten. Wenn Bescheiniger die Formulare „attestationList“ und „AttestationWorkItem“ so anpassen können, dass nur die benötigten Informationen abgerufen und angezeigt werden, lässt sich die Effizienz erheblich steigern.
Variablen für Abfrageaufgaben
In den Definitionen der Aufgaben „Überwachungsrichtliniensuche“ und „Zugriffsabfrage“ sind die Formulare angegeben, die beim Starten einer Aufgabe verwendet werden müssen. Diese Formulare enthalten Felder, mit deren Hilfe die meisten, jedoch nicht alle Variablen für Abfrageaufgaben gesteuert werden können.
Variablenname
Standardwert
Zweck
maxThreads
5
Gibt die Anzahl gleichzeitig angemeldeter Benutzer an, die für eine einzelne Abfragefunktion gleichzeitig arbeiten können. Erhöhen Sie diesen Wert, wenn Sie beim Prüfen von Benutzern, die Konten auf sehr langsamen Ressourcen haben, die Leistungsfähigkeit erhöhen möchten.
userLock
5000
Gibt die Zeit (in ms) an, die benötigt wird, um für einen Benutzer, der geprüft werden soll, eine Sperre zu erhalten. Wenn mehrere gleichzeitig arbeitende Abfragefunktionen einen Benutzer bearbeiten und dieser über sehr langsame Ressourcen verfügt, führt eine Erhöhung dieses Werts u. U. zu weniger Sperrfehlern, aber zu einer insgesamt langsameren Abfrage.
scanDelay
0
Gibt die Zeit (in ms) an, die bis zur Ausgabe eines neuen Threads vergehen soll. Kann auf einen positiven Wert eingestellt werden, damit die Abfragefunktion weniger CPU-intensiv ist.
Berechnet einen Booleschen Wert. Wenn der Wert „True“ lautet, werden das Feld und alle verschachtelten Felder während der Verarbeitung des aktuellen Formulars ignoriert.
Erstellen Sie keine potenziell langen Aktivitäten in Disable-Elementen. Diese Ausdrücke werden bei jeder erneuten Berechnung des Formulars ausgeführt. Verwenden Sie stattdessen ein anderes Formularelement, das im Rahmen dieser Berechnung nicht so häufig ausgeführt wird.
- Sie können nun Warnmeldungen vom Typ Warnung (WARNING), Fehler (ERROR) oder Information (OK) in ein XPRESS-Formular einfügen. (ID-14540, ID-14953)
Hinweis
In diesem Beispiel wird zwar ein ErrorMessage-Objekt vom Typ Warnung in ein Formular eingefügt, Sie können jedoch auch einen anderen Schweregrad zuweisen.
- Öffnen Sie das Formular, dem Sie die Warnung hinzufügen möchten, in der Identity Manager-IDE.
- Fügen Sie der Hauptanzeigeklasse EditForm oder HtmlPage <Property name='messages'> hinzu.
- Fügen Sie den Codeblock <defvar name='msgList'> vom folgenden Beispielcode hinzu.
- Ersetzen Sie im Beispielcode den Meldungsschlüssel, der den Meldungstext kennzeichnet, der im Meldungsfeld angezeigt werden soll:
<message name='UI_USER_REQUESTS_ACCOUNTID_NOT_FOUND_ALERT_VALUE >
- Speichern und schließen Sie die Datei.
Codebeispiel
<Display class='EditForm'>
<Property name='componentTableWidth' value='100%'/>
<Property name='rowPolarity' value='false'/>
<Property name='requiredMarkerLocation' value='left'/>
<Property name='messages'>
<ref>msgList</ref>
</Property>
</Display>
<defvar name='msgList'>
<cond>
<and>
<notnull>
<ref>username</ref>
</notnull>
<isnull>
<ref>userview</ref>
</isnull>
</and>
<list>
<new class='com.waveset.msgcat.ErrorMessage'>
<invoke class='com.waveset.msgcat.Severity' name='fromString'>
<s>warning</s>
</invoke>
<message name='UI_USER_REQUESTS_ACCOUNTID_NOT_FOUND_ALERT_VALUE'>
<ref>username</ref>
</message>
</new>
</list>
</cond>
</defvar>
Die Anzeigeklasse „Hidden“ entspricht der HTML-Komponente <input type=hidden’/>. Diese Komponente unterstützt nur Datentypen mit einem Datenwert, da es keine Möglichkeit zum zuverlässigen Serialisieren und Deserialisieren von Datentypen mit mehreren Datenwerten gibt. (ID-16904)
Wenn Sie eine Liste als Zeichenkette ausgeben möchten, muss diese Liste explizit in eine Zeichenkette konvertiert werden. Beispiel:
- Sie können jetzt die Eigenschaft RequiresChallenge im Formular „Passwort ändern“ der Endbenutzeroberfläche setzen, damit Benutzer zunächst für ihr Konto ihr altes Passwort eingeben müssen, bevor sie es ändern können. Ein Beispiel zum Setzen dieser Eigenschaft finden Sie im Basisformular „Change Password“ in enduser.xml. (ID-17309)
Kapitel 4, „Identity Manager Views“
Allgemeine Attribute
Die Organisationsansichtsattribute höherer Ebene sind im Folgenden aufgelistet.
Name
Bearbeitbar?
Datentyp
Obligatorisch?
orgName
Lesen
String
Vom System generiert
orgDisplayName
Lesen/Schreiben
String
Ja
orgType
Lesen/Schreiben
String
Nein
orgId
Lesen
String
Vom System generiert
orgAction
Schreiben
String
Nein
orgNewDisplayName
Schreiben
String
Nein
orgParentName
Lesen/Schreiben
String
Nein
orgChildOrgNames
Lesen
Liste
Vom System generiert
orgApprovers
Lesen/Schreiben
Liste
Nein
allowsOrgApprovers
Lesen
Liste
Vom System generiert
allowedOrgApproverIds
Lesen
Liste
Vom System generiert
orgUserForm
Lesen/Schreiben
String
Nein
orgViewUserForm
Lesen/Schreiben
String
Nein
orgPolicies
Lesen/Schreiben
Liste
Nein
orgAuditPolicies
Lesen/Schreiben
Liste
Nein
renameCreate
Lesen/Schreiben
String
Nein
renameSaveAs
Lesen/Schreiben
String
Nein
orgName
Gibt die UID für die Organisation an. Dieser Wert unterscheidet sich von den meisten Ansichtsobjektnamen, da Organisationen denselben Kurznamen aufweisen und doch zu verschiedenen übergeordneten Organisationen gehören können.
orgDisplayName
Gibt den Kurznamen der Organisation an. Dieser Wert dient nur der Anzeige und muss nicht eindeutig sein.
orgType
Definiert den Organisationtyp. Zulässige Werte sind junction oder virtual. Organisationen, die nicht zum Typ junction oder virtual gehören, weisen keinen Wert auf.
orgId
Gibt die ID an, mit der die Organisation in Identity Manager eindeutig identifiziert wird.
orgAction
Wird nur für Verzeichniszuordnungen, virtuelle Organisationen und dynamische Organisationen unterstützt. Zulässiger Wert ist refresh. Wenn es sich bei der Organisation um eine Verzeichniszuordnung oder eine virtuelle Organisation handelt, hängt das Verhalten bei der Aktualisierung vom Wert von orgRefreshAllOrgsUserMembers ab.
orgNewDisplayName
Legt beim Umbenennen einer Organisation den neuen Kurznamen fest.
orgParentName
Gibt den vollständigen Pfadnamen der übergeordneten Organisation an.
orgChildOrgNames
Listet die Identity Manager-Schnittstellennamen aller direkten und indirekten untergeordneten Organisationen auf.
orgApprovers
Listet die Identity Manager-Administratoren auf, die das Hinzufügen bzw. Modifizieren von Benutzern in der jeweiligen Organisation genehmigen müssen.
allowedOrgApprovers
Listet die Namen von Benutzern auf, die ebenfalls das Hinzufügen und Modifizieren von Benutzern in der jeweiligen Organisation genehmigen könnten.
allowedOrgApproverIds
Listet die IDs von Benutzern auf, die ebenfalls das Hinzufügen und Modifizieren von Benutzern in der jeweiligen Organisation genehmigen könnten.
orgUserForm
Legt das userForm fest, das Benutzer, die Mitglied der jeweiligen Organisation sind, beim Erstellen oder Bearbeiten von Benutzern verwenden.
orgViewUserForm
Legt das Benutzeranzeigeformular fest, das Benutzer, die Mitglied der jeweiligen Organisation sind, beim Anzeigen von Benutzern verwenden.
orgPolicies
Gibt Richtlinien an, die für alle Benutzer gelten, die Mitglied der jeweiligen Organisation sind. Hierbei handelt es sich um eine Liste von Objekten, geordnet nach Typzeichenfolge. Alle Richtlinienobjekte enthalten die folgenden Ansichtsattribute, denen orgPolicies[<type>] vorangestellt ist. <type> steht für den Richtlinientyp (Beispiel: Lighthouse-Konto).
orgAuditPolicies
Gibt die Überwachungsrichtlinien an, die für alle Benutzer gelten, die Mitglied der jeweiligen Organisation sind.
renameCreate
Wenn dieses Attribut auf „true“ gesetzt ist, wird die jeweilige Organisation geklont. Für die neu erstellte Organisation gilt der Wert von orgNewDisplayName.
renameSaveAs
Wenn dieses Attribut auf „true“ gesetzt ist, wird die jeweilige Organisation in den Wert von orgNewDisplayName umbenannt.
Attribute für Verzeichniszuordnung und virtuelle Organisationen
Name
Bearbeitbar?
Datentyp
Obligatorisch?
orgContainerId
Lesen
String
Vom System generiert
orgContainerTypes
Lesen
Liste
Vom System generiert
orgContainers
Lesen
Liste
Vom System generiert
orgParentContainerId
Lesen
String
Vom System generiert
orgResource
Lesen/Schreiben
String
Ja, für Verzeichniszuordnung bzw. virtuelle Organisation
orgResourceType
Lesen
String
Vom System generiert
orgResourceId
Lesen
String
Vom System generiert
orgRefreshAllOrgsUserMembers
Schreiben
String
Nein
orgContainerId
Gibt den DN des zugehörigen LDAP-Verzeichniscontainers an (Beispiel: cn=foo,ou=bar,o=foobar.com).
orgContainerTypes
Listet die zulässigen Ressourcenobjekttypen auf, die andere Ressourcenobjekte enthalten können.
orgContainers
Listet die Basiscontainer für die Ressource auf, die von der Identity Manager-Schnittstelle zum Anzeigen einer Auswahlliste verwendet werden.
orgParentContainerId
Gibt den DN des zugehörigen übergeordneten LDAP-Verzeichniscontainers an (Beispiel: ou=bar,o=foobar.com).
orgResource
Gibt den Namen der Identity Manager-Ressource zum Synchronisieren der Verzeichniszuordnung und der virtuellen Organisationen an (Beispiel: West Directory Server).
orgResourceType
Gibt den Typ der Identity Manager-Ressource an, von der aus die Verzeichniszuordnung und die virtuellen Organisationen synchronisiert werden (Beispiel: LDAP).
orgResourceId
Gibt die ID der Identity Manager-Ressource an, die zum Synchronisieren von Verzeichniszuordnungen und virtuellen Organisationen verwendet wird.
orgRefreshAllOrgsUserMembers
Wenn dieses Attribut auf true und orgAction auf refresh gesetzt ist, werden für die ausgewählte Organisation und alle untergeordneten Organisationen die Benutzer, die Mitglied in der Identity Manager-Organisation sind, mit den Benutzern im Ressourcencontainer synchronisiert. Wenn dieses Attribut auf false gesetzt ist, erfolgt keine Synchronisation mit den Benutzern im Ressourcencontainer. Für die ausgewählte Organisation und alle untergeordneten Organisationen werden nur die Ressourcencontainer mit den Identity-Manager-Organisationen synchronisiert.
Attribute für dynamische Organisationen
Name
Bearbeitbar?
Datentyp
Obligatorisch?
orgUserMembersRule
Lesen/Schreiben
String
Nein
orgUserMembersRuleCacheTimeout
Lesen/Schreiben
String
Nein
orgUserMembersRule
Gibt (anhand des Namens oder der UID) die Regel an, deren authType „UserMembersRule“ lautet. Diese wird zur Laufzeit ausgewertet, um die Mitgliedschaft zu ermitteln.
orgUserMembersCacheTimeout
Gibt an, nach wie viel Millisekunden es zu einer Cache-Zeitüberschreitung kommt, wenn von „orgUserMembersRule“ zurückgegebene Benutzer in den Cache geschrieben werden sollen. Der Wert 0 gibt an, dass keine Zwischenspeicherung erfolgt.
Die Erläuterungen zur Benutzeransicht umfassen nun auch Informationen zu accounts[Lighthouse].delegates-Attributen: (ID-15468)
accounts[Lighthouse].delegates
Führt Delegate-Objekte auf, die über workItemType indiziert werden, wobei jedes Objekt Delegate-Informationen für einen bestimmten Arbeitselementtyp enthält.
accounts[Lighthouse].delegatesHistory
Führt Delegate-Objekte auf, die von 0 bis n indiziert sind, wobei n die aktuelle Anzahl der historischen Delegate-Objekte bis zur historischen Delegate-Tiefe angibt.
Dieses Attribut hat ein eindeutiges Attribut, selected, das ein Boolescher Wert ist, der das gerade ausgewählte historische Delegate-Objekt angibt.
accounts[Lighthouse].delegatesOriginal
Originalliste von Delegate-Objekten, die nach einem Abrufvorgang oder dem Auschecken einer Ansicht über workItemType indiziert werden.
Alle accounts[Lighthouse].delegates*-Attribute nehmen die folgenden Attribute an:
Attribute von accounts[Lighthouse].delegate*- Attributen
Beschreibung
workItemType
Identifiziert den Typ von workItem, das gerade delegiert wird. Eine Liste mit zulässigen workItem-Typen finden Sie in der Beschreibung des Modells für Delegate-Objekte unter Identity Manager Technical Deployment Overview dieses Dokumentationsnachtrags.
workItemTypeObjects
Führt die Namen spezifischer Rollen, Ressourcen oder Organisationen auf, in denen der Benutzer zukünftige workItem-Genehmigungsanforderungen delegiert. Dieses Attribut ist zulässig, wenn workItemType den Wert roleApproval, resourceApproval oder organizationApproval hat.
Wenn nicht angegeben, gibt dieses Attribut standardmäßig die Delegierung zukünftiger workItem-Anforderungen von allen Rollen, Ressourcen oder Organisationen an, in denen der Benutzer als Genehmiger fungiert.
toType
Typ, an den delegiert wird. Gültige Werte sind:
manager
delegateWorkItemsRule
selectedUsers
toUsers
Führt die Namen der Benutzer auf, an die delegiert werden soll (wenn toType den Wert selectedUsers hat).
toRule
Gibt den Namen der Regel an, die bei der Bestimmung der Benutzer angewendet wird, an die delegiert werden soll (wenn toType den Wert delegateWorkItemsRule hat).
startDate
Gibt das Datum an, an dem die Delegierung gestartet werden soll.
endDate
Gibt das Datum an, an dem die Delegierung beendet werden soll.
Verweisen auf ein DelegateWorkItems-Ansichtsobjekt von einem Formular aus
Das folgende Codebeispiel veranschaulicht, wie Sie von einem Formular aus auf ein DelegateWorkItems-Delegate-Objekt verweisen können:
<Field name='delegates[*].workItemType'>
<Field name=’delegates[*].workItemTypeObjects’>
<Field name=’delegates[*].toType’>
<Field name='delegates[*].toUsers'>
<Field name=’delegates[*].toRule’>
<Field name='delegates[*].startDate'>
<Field name='delegates[*].endDate'>
wobei unterstützte Indexwerte (*) workItemType-Werte sind.
Name
Bearbeitbar?
Typ
Obligatorisch?
name
String
Ja
Status
String
Ja
Benutzer
String
Ja
userId
String
Ja
attestorHint
String
Nein
userView
GenericObject
Ja
reviewInstanceId
String
Ja
reviewStartDate
String
Ja
scanId
String
Ja
scanInstanceId
String
Ja
approvalWorkflowName
String
Ja
organizationId
String
Ja
attestorComments.name
String
Nein
attestorComments.attestor
String
Nein
attestorComments.time
String
Nein
attestorComments.timestamp
String
Nein
attestorComments.status
Nein
name
Gibt den Benutzeranspruch an (anhand einer eindeutigen ID).
Status
Gibt den Status des UserEntitlement-Objekts an. Zulässige Statuswerte sind u. a. PENDING, ACCEPTED, REJECTED, REMEDIATING und CANCELLED.
Benutzer
Gibt den Namen des zugehörigen WSUser für diesen Anspruch an.
userId
Gibt die ID des zugehörigen WSUser an.
attestorHint
Zeigt den Tipp (Zeichenfolge) für den Bescheiniger an, der in der Regel für Prüfungsbestimmung festgelegt ist. Dieser Tipp enthält für den Bescheiniger nützliche Informationen über die Regel.
userView
Enthält die von der Benutzeranspruchs-Prüffunktion erfasste Benutzeransicht. Wie viele Ressourcenkonten diese Ansicht enthält, hängt von der Konfiguration des AccessScan-Objekts ab.
reviewInstanceId
Gibt die ID der PAR-Aufgabeninstanz an.
reviewStartDate
Gibt das Startdatum (Zeichenfolge) der PAR-Aufgabe an (im Standardformat).
scanId
Gibt die ID der AccessScan-Aufgabendefinition an.
scanInstanceId
Gibt die ID der AccessScan-Aufgabeninstanz an.
approvalWorkflowName
Gibt den Namen des für die Genehmigung auszuführenden Workflows an. Dieser Wert stammt aus der AccessScan-Aufgabendefinition.
organizationId
Gibt die ID der Organisation des WSUser zur Zeit der Prüfung an.
attestorComments
Listet Bescheinigungsdatensätze für den Anspruch auf. Jeder Bescheinigungsdatensatz gibt eine Aktion oder eine Anweisung in Bezug auf den Anspruch an, u. a. Genehmigung, Ablehnung und erneute Prüfung.
attestorComments[timestamp].name
Zeitstempel zum Identifizieren des Elements in der Liste.
attestorComments[timestamp].attestor
Gibt den WSUser-Namen des Bescheinigers an, von dem der Kommentar zum Anspruch stammt.
attestorComments[timestamp].time
Gibt die Uhrzeit an, zu der dieser Datensatz vom Bescheiniger bescheinigt wurde. Kann vom Zeitstempel abweichen.
attestorComments[timestamp].status
Gibt den vom Bescheiniger zugewiesenen Status an. Hierbei kann es sich um eine beliebige Zeichenfolge handeln. Normalerweise wird jedoch die vom Bescheiniger ausgeführte Aktion angegeben, also z. B. Genehmigung, Ablehnung, erneute Prüfung, Korrektur.
attestorComments[name].comment
Enthält vom Bescheiniger hinzugefügte Kommentare.
- Die folgenden Benutzeransichtsattribute wurden verworfen. (ID-15468)
- accounts[Lighthouse].delegateApproversTo
- accounts[Lighthouse].delegateApproversSelected
- accounts[Lighthouse].delegateApproversStartDate
- accounts[Lighthouse].delegateApproversEndDate
- Die Ansicht für delegierte Genehmiger wurde verworfen, kann jedoch weiterhin für die Bearbeitung von Delegate-Objekten verwendet werden, bei denen workItemType auf approval gesetzt ist.
Kapitel 6, „XPRESS Language“
Diese Funktion wird verwendet, wenn in Zeichenketten enthaltene Boolesche Werte statt 0 und 1 die Werte „true“ und „false“ enthalten. 1 Argument wird übergeben.
Die folgenden Werte entsprechen dem Wert „true“. Alle anderen Werte werden als „false“ interpretiert.
Der Rückgabewert ist:
Beispiel
Der folgende Ausdruck gibt 0 zurück.
Kapitel 8, „HTML Display Components“
Die Anzeige vieler Admin-Rollen über die MultiSelect-Komponente (entweder die Applet- oder HTML-Version) ist u. U. recht umständlich. Identity Manager bietet eine besser skalierbare Möglichkeit zum Anzeigen und Verwalten von Admin-Rollen: die objectSelector-Feldvorlage. (ID-15433)
Die Scalable Selection Library (in sample/formlib.xml) enthält ein Beispiel, das beschreibt, wie Sie mit Hilfe einer objectSelector-Feldvorlage nach Admin-Rollen suchen können, die vom Benutzer ausgewählt werden können.
Codebeispiel Beispiel einer objectSelector-Feldvorlage
<Field name='scalableWaveset.adminRoles'>
<FieldRef name='objectSelector'>
<Property name='selectorTitle' value='_FM_ADMIN_ROLES'/>
<Property name='selectorFieldName' value='waveset.adminRoles'/>
<Property name='selectorObjectType' value='AdminRole'/>
<Property name='selectorMultiValued' value='true'/>
<Property name='selectorAllowManualEntry' value='true'/>
<Property name='selectorFixedConditions'>
<appendAll>
<new class='com.waveset.object.AttributeCondition'>
<s>hidden</s>
<s>notEquals</s>
<s>true</s>
</new>
<map>
<s>onlyAssignedToCurrentSubject</s>
<Boolean>true</Boolean>
</map>
</appendAll>
</Property>
<Property name='selectorFixedInclusions'>
<appendAll>
<ref>waveset.original.adminRoles</ref>
</appendAll>
</Property>
</FieldRef>
</Field>
Verwenden des objectSelector-Beispielcodes
- Öffnen Sie in der Identity Manager-IDE das UserForm-Objekt der Administratorenbibliothek.
- Fügen Sie diesem Formular den folgenden Code hinzu:
<Include>
<ObjectRef type='UserForm' name='Scalable Selection Library'/>
</Include>
- Wählen Sie im Feld AdministratorFields das Feld accounts[Lighthouse].adminRoles.
- Ersetzen Sie die gesamte Referenz accounts[Lighthouse].adminRoles durch folgende Referenz:
<FieldRef name='scalableWaveset.adminRoles'/>
- Speichern Sie das Objekt.
Wenn Sie das nächste Mal einen Benutzer bearbeiten und die Registerkarte „Sicherheit“ auswählen, zeigt Identity Manager das angepasste Formular an. Durch Klicken auf ... wird die Selektorkomponente geöffnet und ein Suchfeld angezeigt. Suchen Sie mit Hilfe dieses Felds nach Admin-Rollen, die mit einer Zeichenfolge beginnen und stellen Sie das Feld auf einen oder mehrere Werte ein.
Um das Formular wiederherzustellen, importieren Sie $WSHOME/sample/formlib.xml über Konfigurieren > Exchange-Datei importieren.
Weitere Beispiele zum Verwalten von Ressourcen und Rollen in objektreichen Umgebungen mit der objectSelector-Vorlage finden Sie in der Scalable Selection Library in sample/formlib.xml.
- Die Erläuterungen zur TabPanel-Komponente enthalten nun die folgende Beschreibung der validatePerTab-Eigenschaft: (ID-15501)
Besteht aus drei Klassen: Menu, MenuBar und MenuItem.
Menu enthält die folgenden Eigenschaften:
- layout: Eine Zeichenfolge mit dem Wert horizontal oder vertical. Mit dem Wert horizontal wird eine horizontale Navigationsleiste mit Registerkarten erzeugt. vertical führt dazu, dass das Menü in Form eines vertikalen Strukturmenüs mit einem typischen Knotenlayout dargestellt wird.
- stylePrefix: Präfix für den CSS-Klassenname. Für Identity Manager-Endbenutzerseiten lautet dieser Wert User.
MenuBar enthält die folgenden Eigenschaften:
MenuItem enthält die folgenden Eigenschaften:
- containedUrls: Eine Liste mit URL-Pfaden zu JSPs, die mit MenuItem „verwandt“ sind. Das aktuelle MenuItem wird bei der Anzeige von containedUrls-JSPs als „selected“ dargestellt. Ein Beispiel hierfür ist die Ergebnisseite eines Anforderungsstarts, die nach dem Start eines Arbeitsablaufs von der Anforderungsstartseite aus angezeigt wird.
Sie können diese Eigenschaften entweder für MenuBar oder MenuItem festlegen:
Mit dem folgenden XPRESS-Beispiel wird ein Menü mit zwei Registerkarten erzeugt. Die zweite Registerkarte enthält zwei untergeordnete Registerkarten:
Codebeispiel Implementierung von Menu-, MenuItem- und MenuBar-Komponenten
<Display class='Menu'/>
<Field>
<Display class='MenuItem'>
<Property name='URL' value='user/main.jsp'/>
<Property name='title' value='Home' />
</Display>
</Field>
<Field>
<Display class='MenuBar' >
<Property name='title' value='Work Items' />
<Property name='URL' value='user/workItemListExt.jsp'/>
</Display>
<Field>
<Display class='MenuItem'>
<Property name='URL' value='user/workItemListExt.jsp'/>
<Property name='title' value='Approvals' />
</Display>
</Field>
<Field>
<Display class='MenuItem'>
<Property name='URL' value='user/otherWorkItems/listOtherWorkItems.jsp'/>
<Property name='title' value='Other' />
</Display>
</Field>
</Field>
ListEditor
Gibt eine bearbeitbare Zeichenkettenliste aus.
Tabelle 3 Eigenschaften der ListEditor-Komponente
Eigenschaft
Beschreibung
listTitle
(String) Die Beschriftung, die Identity Manager neben der grafischen Darstellung des ListEditor-Objekts anzeigt.
pickListTitle
(String) Die Beschriftung für die pickList-Komponente.
valueMap
(Map) Eine Matrix mit Beschriftungen für die Werte der Liste.
allowDuplicates
(Boolean) Der Wert true gibt an, dass Identity Manager in der Liste Duplikate zulässt.
allowTextEntry
(Boolean) Der Wert true gibt an, dass Identity Manager ein Texteingabefeld und eine Schaltfläche zum Hinzufügen anzeigt.
fixedWidth
(Boolean) Der Wert true gibt an, dass die Komponente eine feste Breite haben soll (das gleiche Verhalten wie bei der Multiselect-Komponente.
ordered
(Boolean) Der Wert true gibt an, dass die Reihenfolge der Werte wichtig ist.
sorted
(Boolean) Der Wert true gibt an, dass die Werte der Auswahlliste sortiert werden sollen. Wenn Datenwerte mehrere Werte enthalten und nicht sortiert sind, sortiert Identity Manager die Werteliste ebenfalls.
pickValueMap
(List oder Map) Eine Matrix mit Beschriftungen für die Werte der Auswahlliste.
pickValues
(List) Verfügbare Werte in der pickList-Komponente. Ist dieser Wert null, wird die picklist nicht angezeigt.
height
(Integer) Die bevorzugte Höhe.
width
(Integer) Die bevorzugte Breite. Kann von Containern als Eigenschaft der Tabellenzelle, in der das Objekt ausgegeben werden soll, verwendet werden.
Beispiel
Das folgende Beispiel eines Formulars mit Registerkarten zeigt ein Formularfeld an, das die ListEditor-Anzeigeklasse verwendet:
<Field name='accounts[Sim1].Group'>
<Display class='ListEditor' action='true'>
<Property name='listTitle' value='stuff'/>
<Property name='allowTextEntry'>
<Boolean>true</Boolean>
</Property>
<Property name='ordered'>
<Boolean>true</Boolean>
</Property>
</Display>
<Expansion>
<ref>accounts[Sim1].Group</ref>
</Expansion>
</Field>
Dieser Codeausschnitt erstellt ein Feld, in dem der Kunde einem Benutzer Gruppen hinzufügen bzw. diese vom Benutzer wieder entfernen kann.
Sie können diese Funktion in XPRESS-Eingabefeldern durch Hinzufügen dieser Anzeigeeigenschaft implementieren. Alle anderen Werte außer off verhindern, dass Identity Manager das Attribut autocomplete im erzeugten HTML-Formular ausgibt. Dies entspricht dem Verhalten beim Nichtsetzen dieser Eigenschaft.
Aktivieren von „autocomplete“ für Identity Manager-Anmeldeseiten
Zum Aktivieren dieser Funktion für die Anmeldeseiten von Identity Manager setzen Sie das Systemkonfigurationsobjekt ui.web.disableAutocomplete auf true. Die Anmeldeseiten von Identity Manager sind login.jsp, continueLogin.jsp, user/login.jsp und user/continueLogin.jsp.
Alle anderen Identity Manager-Anmeldeseiten werden von XPRESS generiert, und Sie müssen diese Formulare entsprechend bearbeiten, wenn Sie die neue Anzeigeeigenschaft dort nutzen wollen. In diesen Formularen, die sich im Beispielverzeichnis befinden, ist diese Eigenschaft standardmäßig auskommentiert.
Anhang A, „Form and Process Mappings“
- Eine aktualisierte Version des Anhangs „Form and Process Mappings“ finden Sie im selben Verzeichnis wie diese Versionshinweise.
- Es ist möglich, über zugeordnete Namen auf konformitätsspezifische Aufgaben zuzugreifen. (ID-15447)
Prozessname
Zugeordneter Name
Beschreibung
Zugriffsprüfung
accessReview
Ausführung einer Zugriffsprüfung
Zugriffsabfrage
accessReviewScan
Ausführung einer Zugriffsabfrage
Erneute Suche nach Zugriffsprüfung
accessReviewRescan
Ausführung einer erneuten Zugriffsabfrage
Erneute Prüfung der Überwachungsrichtlinien
auditPolicyRescan
Ausführung einer erneuten Überwachungsrichtliniensuche
Zugriffsprüfung abbrechen
abortAccessReview
Beendigung einer Zugriffsprüfung
Zugriffsprüfung löschen
deleteAccessReview
Löschen einer Zugriffsprüfung
Zugriffsprüfung auf Statusobjekte wiederherstellen
recoverAccessReview
Wiederherstellung fehlender Zugriffsprüfungs-Statusobjekte von Überwachungsprotokollen
Identity Manager Deployment ToolsDieser Abschnitt enthält Korrekturen und Ergänzungen für die Identity Manager Deployment Tools-Dokumentation.
- Das Kapitel „Using the Identity Manager-IDE“ aus früheren Versionen wurde in dieser Version entfernt. Informationen zur Installation und Konfiguration der Identity Manager Integrated Development Environment (Identity Manager-IDE) finden Sie jetzt unter https://identitymanageride.dev.java.net. (ID-17700)
Arbeiten mit dem Identity Manager-Profiler
Identity Manager besitzt jetzt ein Profilerdienstprogramm, das Ihnen in Ihrer Bereitstellung beim Auffinden von Leistungsproblemen bei Formularen, Java, Regeln, Workflows und XPRESS hilft.
Formulare, Java, Regeln, Workflows und XPRESS können Leistungs- und Skalierungsprobleme verursachen. Der Profiler analysiert, wieviel Zeit diese verschiedenen Bereiche zur Ausführung benötigen. Somit können Sie feststellen, ob sie zu Leistungs- und Skalierungsproblemen beitragen und – wenn dies der Fall ist – welche Teile dieser Objekte diese Probleme verursachen.
In diesem Abschnitt wird die Arbeit mit dem Identity Manager-Profiler beschrieben. Darüber hinaus finden Sie hier eine Anleitung für das Finden und Eliminieren von Leistungsproblemen in Ihrer Bereitstellung. Die Informationen sind wie folgt unterteilt:
Übersicht
Dieser Abschnitt enthält einen Überblick über Leistungsmerkmale und Funktionen des Identity Manager-Profilers. Die Informationen sind wie folgt unterteilt:
Hauptfunktionen
Mit dem Profiler können Sie folgende Funktionen ausführen:
- Snapshotergebnisse können in vier verschiedenen Datenansichten dargestellt werden:
- Ansicht der Aufrufhierarchie - zeigt eine Hierarchieansicht mit den Aufrufzeiten und -dauern im gesamten System an.
- Hotspot-Ansicht - zeigt eine flache Knotenliste mit den aufsummierten Aufrufzeiten unabhängig von der aufrufenden Routine an.
- Rückverfolgungsansicht - zeigt einen invertierten Aufrufstack mit allen Aufrufketten, von denen ein bestimmter Knoten (der sog. Root-Knoten) aufgerufen wurde, an.
- Ansicht der aufgerufenen Routinen - zeigt eine Gesamtaufrufhierarchie für den Root-Knoten (unabhängig von dessen aufrufender Kette) an.
- Sie müssen angeben, welche Informationenen im Snapshot enthalten sein sollen.
- Sie können alle Elemente von Formularen, Workflows und XPRESS-Objekten angeben oder den Inhalt auf eine bestimmte Menge spezifischer Elemente beschränken.
- Sie können festlegen, welche Java-Methoden und -Konstruktoren mit dem Profiling analysiert werden sollen. Die Instrumentierung von Identity Manager- und benutzerspezifischen Klassen wird unterstützt.
- Sie sollten Ihre Projekt-Snapshots wie folgt verwalten:
- Speichern Sie den Snapshot im Verzeichnis nbproject/private/idm-profiler Ihres Projekts oder in einem beliebigen anderen Verzeichnis außerhalb Ihres Projekts.
Hinweis
Im Abschnitt „Saved Snapshots“ der IDM-Profileransicht können Sie sich eine Liste aller gespeicherten Snapshots anzeigen lassen.
- Sie können Snapshots innerhalb Ihres Projekts oder aus einem anderen Verzeichnis außerhalb Ihres Projekts heraus öffnen.
- Sie können Snapshots löschen.
- Sie können bestimmte Knoten nach Namen suchen.
Wie findet und verwaltet der Profiler Quellcode?
In diesem Abschnitt wird beschrieben, wie der Profiler Quellcode für die folgenden Identity Manager-Objekte findet und verwaltet:
Für Formulare, Workflows, Regeln und XPRESS-Objekte Wenn Sie mit dem Profiler einen Snapshot erstellen, evaluiert der Server alle Profilingdaten und findet heraus, von welchem Quellcode die betreffenden Daten abhängen. Der Server ruft dann diesen Quellcode aus dem Repository ab und fügt ihn in den Snapshot ein. Deswegen können Sie sicher sein, dass die in einem Snapshot angezeigten Identity Manager-Objekte auch wirklich den Zustand besitzen, den sie während der Erstellung des Snapshot einnahmen.
Dieser Prozess erhöht zwar die Snapshotgröße, die Quellcodegröße beträgt aber nur einen Bruchteil der Gesamtobjektgröße. So können Sie Snapshots an den Technischen Support von Sun senden, ohne einzelne Dateien schicken zu müssen.
Für Java-Quellen Wenn Sie einen Snapshot von Java-Quellcode erstellen, lädt der Client den Snapshot herunter und sucht dann in diesem Snapshot alle referenzierten Java-Quellen aus dem Projekt heraus. Beim Speichern des Snapshots komprimiert und archiviert der Client den Quellcode und hängt ihn an das Ende des Snapshots an.
Wenn Sie dann den Snapshot anzeigen und zum Java-Quellcode gehen, überprüft der Client zunächst den Inhalt des Snapshots. Wenn der Client den Inhalt dort nicht finden kann, überprüft er den Projektinhalt. Dieser Vorgang ermöglicht das Senden eines Snapshots mit Profiling-Daten aus benutzerspezifischem Java-Code und Identity Manager-Code.
Hinweis
Bei Snapshots aus Java-Quellcode kann nicht vorausgesetzt werden, dass der Code auf dem aktuellsten Stand (d. h. identisch mit dem Code auf dem Server) bzw. stets verfügbar ist.
Interpretationshinweise zu den Statistiken
Die folgenden Abschnitte enthalten Informationen, die bei der Auswertung der vom Profiler ermittelten Ergebnisse zu berücksichtigen sind.
Berechnung der Eigenausführungszeit Zur Berechnungen der Eigenausführungszeit eines Root-Knotens subtrahiert der Profiler die Ausführungszeiten aller vom Root-Knoten aufgerufenen Routinen von der Gesamtausführungszeit des Knotens.
Deswegen fließt die Ausführungszeit eines uninstrumentierten, vom Root-Knoten aufgerufenen Knotens in die Eigenausführungszeit des Root-Knotens ein. Wenn die Eigenausführungszeit eines Root-Knotens relativ groß ist, sollten sie der Ursache unbedingt nachgehen. Es könnte beispielsweise sein, dass Sie nicht die passenden Methoden analysieren und deswegen an der falschen Stelle suchen.
Nehmen wir z. B. an, dass Methode A Methode B aufruft.
Die Ausführungszeit von Methode A beträgt isg. 10 s (dies schließt den Aufruf von B ein) und der Aufruf von B dauert isg. 10 s.
Wenn sowohl Methode A als auch Methode B instrumentiert sind, wird dies im Aufrufstack festgehalten. Sie sehen, dass Methode A eine Eigenausführungszeit von 0 s und B von 10 s besitzt. Das heißt, die gesamten 10 Sekunden wurden in Methode B verbracht. Wenn B jedoch nicht instrumentiert ist, sehen Sie nur, dass der Aufruf von Methode A 10 s dauert und die Eigenausführungszeit von Methode A 10 s beträgt. So kann es sein, dass Sie annehmen, dass das Problem statt in Methode B in Methode A liegt.
Ihnen fällt vielleicht auf, dass die Eigenausführungszeiten von JSPs während der Erstcompilierung sehr hoch sind. Wenn Sie die erfassten Ergebnisse löschen und die Seite dann erneut anzeigen, ist der Wert für die Eigenausführungszeit bedeutend niedriger.
Konstruktoraufrufe Wegen vorhandener Einschränkungen bei der Java-Instrumentierungsstrategie erscheinen Erstaufrufe to this() oder super() auf der gleichen Aufrufebene wie der Konstruktur statt darunter. Hierzu ein Beispiel:
class A
{
public A()
{
this(0);
}
public A(int i)
{
}
}
und:
class B
{
public static void test()
{
new A();
}
}
Die Aufrufhierarchie sieht wie folgt aus:
B.test()
-A.<init>(int)
-A.<init>()
... und nicht etwa so:
B.test()
-A.<init>()
-A.<init>(int)
Dämon-Threads Lassen Sie sich nicht von einer scheinbar langen Zeit verwirren, die in Dämon-Threads von Identity Manager (z. B. ReconTask.WorkerThread.run() oder TaskThread.WorkerThread.run()) verbracht wurde. Die meiste Zeit hier wird im Leerlauf, d. h. mit dem Warten auf Ereignisse verbracht. Sie müssen diese Aufrufe näher untersuchen, um zu sehen, wieviel Zeit in solchen Threads beim eigentlichen Auftreten eines Ereignisses verbracht wird.
Erste Schritte
In diesem Abschnitt wird beschrieben, wie Sie den Profiler starten und wie Sie mit den einzelnen Funktionen der grafischen Benutzeroberfläche des Profilers arbeiten. Die Informationen sind wie folgt unterteilt:
Vorbereitung
Da der Profiler sehr speicherintensiv ist, sollten Sie die Speicherressourcen für den Server und die Netbeans Java Virtual Machine (JVM) erhöhen.
- So erhöhen Sie Speicherressourcen für den Server:
- Öffnen Sie das Netbeans-Fenster und klicken Sie auf die Registerkarte „Laufzeit“.
- Klappen Sie den Serverknoten auf, klicken Sie mit der rechten Maustaste auf „Bundled Tomcat“ und wählen Sie aus dem Menü „Eigenschaften“.
- Demarkieren Sie in der Registerkarte „Verbindung“ das Kontrollkästchen „HTTP-Monitor aktivieren“, wenn das Dialogfeld „Server Manager“ angezeigt wird.
- Klicken Sie auf die Registerkarte „Plattform“ und setzen Sie die VM-Optionen auf -Xmx1024M.
- So erhöhen Sie Speicherressourcen für die Netbeans JVM:
Nach Abschluss dieses Vorgangs können Sie den Profiler wie im nächsten Abschnitt beschrieben starten.
Starten des Profilers
Der Profiler kann aus dem Identity Manager-IDE-Fenster mit einer der folgenden Methoden gestartet werden:
- Klicken Sie auf das Symbol „Start Identity Manager Profiler on Main Project“.
in der Menüleiste.
Hinweis
Das Symbol „Start Identity Manager Profiler on Main Project“ ist aktiviert, wenn das Identity Manager-Projekt die Version 7.1 Update 1 oder höher hat.
- Wählen Sie in der Menüleiste „Window > IDM Profiler“.
Nach dem Start des Profilers wird das Dialogfeld „Profiler Options“ angezeigt, sodass Sie die von Ihnen gewünschten Optionen für das Profiling einstellen können. Eine Anleitung zum Einstellen dieser Optionen finden Sie im Abschnitt Festlegen von Optionen für das Profiling.
Arbeiten mit dem Profiler
In diesem Abschnitt werden die Funktionen der grafischen Benutzeroberfläche des Profilers beschrieben und wie Sie mit diesen arbeiten können. Die Informationen sind wie folgt unterteilt:
Festlegen von Optionen für das Profiling
Das Dialogfeld „Profiler Options“ enthält folgende Registerkarten:
Mit den Optionen in diesen Registerkarten legen Sie fest, für welche Objekte das Profiling ausgeführt werden soll und welche Elemente im Profil anzuzeigen sind.
Klicken Sie auf „OK“, um den Profiler zu starten, wenn Sie die Optionen für das Profiling festgelegt haben. Je nach Projektkonfiguration führt der Profiler einen der folgenden beiden Vorgänge aus:
- Bei regulären Identity Manager-Projekten mit einer eingebetteten Identity Manager-Instanz führt der Profiler ein vollständiges Build durch, stellt das Projekt auf dem NetBean-Anwendungsserver bereit und startet den Profiler.
- Bei regulären Identity Manager-Projekten mit einer externen Identity Manager-Instanz oder Identity Manager-Fernprojekten verbindet sich der Profiler mit der für das Projekt konfigurierten Identity Manager-Instanz.
Modus Die Registerkarte „Mode“ enthält folgende Optionen:
- IDM Objects Only: Wählen Sie diese Option, um das Profiling für Formulare, Regeln, Workflows und XPRESS-Objekte durchzuführen. Es wird kein Profiling für Java-Objekte ausgeführt.
- Java and IDM Objects: Wählen Sie diese Option, um das Profiling für Regeln, Workflows, Java- und XPRESS-Objekte durchzuführen.
Hinweis
- Die Option „Java and IDM Objects“ ist für reguläre Identity Manager-Projekte mit externerIdentity Manager-Instanz bzw. Identity Manager-Fernprojekte nicht verfügbar.
- Sie können den Modus nicht ändern, während das Profiling läuft. Wenn Sie den Modus ändern möchten, muss der Profiler angehalten werden.
IDM Object Filters Die Registerkarte „IDM Object Filters“ enthält folgende Optionen:
Java Filters In der Registerkarte „Java Filters“ können Sie:
Java-Filter sind in Bezug auf Methodenmuster gegeben und werden in ein- bzw. ausschließenden, auf dem kanonischen Methodennamen basierenden Mustern angegeben. Kanonische Methodennamen sehen wie folgt aus:
Klassenname_mit_vollständigem_Pfad.Methodenname(Parametertyp-1, Parametertyp-2, ...)
Hier sind einige Beispiele:
Falls erforderlich, können Sie durch entsprechendes Ändern der folgenden Zeilen in der Datei build.xml noch andere JAR-Dateien instrumentieren. Zum Beispiel:
<instrument todir="${lighthouse-dir-profiler}/WEB-INF" verbose="${instrumentor.verbose}" includeMethods="${profiler.includes}" excludeMethods="${profiler.excludes}">
<fileset dir="${lighthouse-dir}/WEB-INF">
<include name="lib/idm*.jar"/>
<include name="classes/**/*.class"/>
</fileset>
</instrument>
Standardmäßig sind in der Konfiguration alle benutzerspezifischen und die meisten Identity Manager-Klassen enthalten. Eine Reihe von Identity Manager-Klassen sind zwangsläufig nicht enthalten, da deren Einbeziehung den Profiler funktionsunfähig machen würde.
So sind z. B. Klassen aus den Workflow-, Formular- und XPRESS-Programmen nicht enthalten, da der Profiler beim Profiling von Java- und Identity Manager-Objekten unverständliche Ausgaben generieren würde.
Bitte beachten Sie, dass Java-Filter eine erheblich feinere Filtergranularität als IDM-Objektfilter bieten. Java-Instrumentierungen verlangsamen die Ausführungszeit erheblich, was bei den Profiling-Ergebnissen zu drastischen Abweichungen führen kann. Da Identity Manager-Objekte interpretiert und nicht compiliert werden, ist der Einfluss der Instrumentierung auf die Ausführungszeit vernachlässigbar. So gibt es beispielsweise keinen Grund, Workflow A auszuschließen und Workflow B einzubeziehen usw.
Hinweis
Sie können Java-Filter nicht ändern, während das Profiling läuft. Wenn Sie die Java-Filter ändern möchten, muss der Profiler angehalten werden.
Sonstiges Die Registerkarte „Miscellaneous“ enthält folgende Optionen:
- Prune snapshot nodes where execution time is 0:
- Automatically Open Browser Upon Profiler Start:
- Include Java Sources in Snapshot:
- Aktivieren Sie diese Option (standardmäßig aktiviert), wenn Java-Quellcode für alle Java-Methoden enthalten sein soll, die im Snapshot der Profiling-Daten referenziert werden sollen. Diese Einstellung sollte stets für Snapshots unter Produktionsbedingungen verwendet werden. Benutzerspezifischer Java-Code beansprucht wenig Ressourcen, und es wichtig, diesen für die Fehlersuche zur Verfügung zu haben.
- Deaktivieren Sie diese Option, wenn Sie das Profiling für Identity Manager durchführen und der vollständige Identity Manager-Quellcode verfügbar ist.
In solchen Fällen sollte der Identity Manager-Quellcode nicht in den Snapshots enthalten sein, da dadurch die Snapshot-Größe extrem erhöht wird. Weitere Informationen finden Sie unter Wie findet und verwaltet der Profiler Quellcode?.
Arbeiten mit der IDM-Profileransicht
Die IDM-Profileransicht enthält die folgenden Bereiche:
Bereich „Current Project“ Der Bereich „Current Project“ besteht aus einem Dropdown-Menü, in dem alle aktuellen Projekte aufgeführt sind. In diesem Menü wählen Sie das Projekt aus, für das ein Profiling durchgeführt werden soll.
Bereich „Controls“ Der Bereich „Controls“ enthält vier Symbole. Diese sind in der folgenden Tabelle beschrieben:
Symbol
Zweck
![]()
Start Identity Manager Profiler
Startet den Profiler und öffnet das Dialogfeld „Profiler Options“.
![]()
Stop Identity Manager Profiler
Stoppt den Profiler.
![]()
Reset Collected Results
Löscht alle bis hierhin erfassten Profiling-Ergebnisse.
![]()
Modify Profiling
Öffnet das Dialogfeld „Profiler Options“ erneut, sodass Sie an den Einstellungen Änderungen vornehmen können.
Bereich „Status“ Im Bereich „Status“ wird gemeldet, ob der Profiler mit dem Host eine Verbindung herstellen konnte, und es werden Informationen zum Starten, Laufen und Stoppen des Profilers angezeigt.
Bereich „Profiling Results“ Der Bereich „Profiling Results“ enthält zwei Symbole. Diese sind in der folgenden Tabelle beschrieben:
Symbol
Zweck
Start Identity Manager Profiler
Startet den Profiler und öffnet das Dialogfeld „Profiler Options“.
![]()
Reset Collected Results
Löscht alle bis hierhin erfassten Profiling-Ergebnisse.
Bereich „Saved Snapshots“ Der Bereich „Saved Snapshots“ enthält eine Liste aller gespeicherten Snapshots.
Hinweis
Eine Anleitung zum Speichern von Snapshots finden Sie im Abschnitt Speichern eines Snapshots.
Darüber hinaus dienen die folgenden Schaltflächen zum Verwalten dieser Snapshots:
- Open: Klicken Sie auf diese Schaltfläche, um einen gespeicherten Snapshot im Fenster „Snapshot View“ zu öffnen.
- Delete: Wählen Sie einen Snapshot in der Liste „Saved Snapshots“ aus und klicken Sie auf diese Schaltfläche, um den Snapshot zu löschen.
- Save As: Wählen Sie einen Snapshot in der Liste aus und klicken Sie auf diese Schaltfläche, um den Snapshot in einem beliebigen externen Verzeichnis zu speichern.
- Load: Klicken Sie auf diese Schaltfläche, um einen in einem beliebigen externen Verzeichnis gespeicherten Snapshot im Fenster „Snapshot View“ zu öffnen.
Arbeiten mit der Snapshot-Ansicht
Beim Öffnen eines Snapshots werden die Ergebnisse in der Snapshot-Ansicht angezeigt. Diese befindet sich rechts oben in der Identity Manager-IDE.
Ein Snapshot bietet verschiedene Anzeigemöglichkeiten für Profiling-Daten. Diese werden in den folgenden Abschnitten beschrieben:
Ansicht der Aufrufhierarchie Die Ansicht der Aufrufhierarchie zeigt eine Hierarchieansicht mit den Aufrufzeiten und -dauern im gesamten System an.
Diese Tabelle enthält drei Spalten:
Knoten der obersten Ebene können folgende Entitäten sein:
Wenn Sie beispielsweise die URL idm/login.jsp angezeigt haben, sehen Sie in der obersten Ebene einen Eintrag für idm/login.jsp. Die Spalte „Time“ zeigt die Gesamtzeit, die für diese Anforderung (bzw. Anforderungen) benötigt wurde. Die Spalte „Invocations“ zeigt, wie oft diese Seite insgesamt aufgerufen wurde. Sie können diese Daten näher untersuchen, um festzustellen, welche Aufrufe zur Gesamtzeit beigetragen haben.
Hinweis
Die Ansicht der Aufrufhierarchie enthält darüber hinaus Knoten mit Eigenausführungszeiten. Unter Eigenausführungszeit versteht man die Zeit, die ein Knoten für seine eigene Ausführung benötigt. (Weitere Informationen dazu finden Sie unter Berechnung der Eigenausführungszeit.)
- Spalte Time: Die Zeit, die in jedem Knoten verbracht wurde, als dieser Knoten von seiner übergeordneten Routine aufgerufen wurde. Die Werte sind Prozentsätze relativ zur Ausführungszeit der aufrufenden Routine.
- Spalte Invocations: Hält fest, wie oft jeder Knoten von seiner übergeordneten Routine aufgerufen wurde.
Hotspot-Ansicht Die Hotspot-Ansicht zeigt eine flache Knotenliste mit den aufsummierten Aufrufzeiten unabhängig von der aufrufenden Routine an.
Diese Ansicht enthält die folgenden Spalten:
Rückverfolgungsansicht Die Rückverfolgungsansicht zeigt einen invertierten Aufrufstack mit allen Aufrufketten, von denen jeder Knoten aufgerufen wurde, an.
Mit diesen Statistikdaten können Sie nachvollziehen, wieviel Zeit Sie durch Eliminierung einer bestimmten Aufrufkette aus dem betreffenden Knoten einsparen würden.
Sie können die Rückverfolgungsansicht von allen anderen Snapshot-Ansichten aufrufen, indem Sie mit der rechten Maustaste auf einen Knoten klicken (der dann in der Rückverfolgungsansicht zum sog. Root-Knoten wird) und aus dem Kontextmenü die Option „Show Back Traces“ auswählen.
Hinweis
In der Rückverfolgungsansicht haben die Werte in den Spalten „Time“ und „Invocations“ eine andere Bedeutung:
Ansicht der aufgerufenen Routinen Die Ansicht der aufgerufenen Routinen zeigt eine Gesamtaufrufhierarchie für einen Knoten (den sog. Root-Knoten) unabhängig von dessen aufrufender Kette an.
Diese Statistikdaten sind bei Problembereichen nützlich, die innerhalb der Masterhierarchie von vielen Routinen aufgerufen werden, und wo Sie sich das Gesamtprofil des betreffenden Knotens ansehen möchten.
Sie können die Ansicht der aufgerufenen Routinen von allen anderen Snapshot-Ansichten aufrufen, indem Sie mit der rechten Maustaste auf einen Knoten klicken (der dann in der Rückverfolgungsansicht zum sog. Root-Knoten wird) und aus dem Kontextmenü die Option „Show Callees“ auswählen.
Hinweis
In der Ansicht der aufgerufenen Routinen haben die Werte in den Spalten „Time“ und „Invocations“ die gleiche Bedeutung wie bei der Ansicht der Aufrufhierarchie.
Arbeiten mit Kontextmenüoptionen
Klicken Sie in der Ansicht der Aufrufhierarchie bzw. in der Hotspot-Ansicht mit der rechten Maustaste auf einen beliebigen Knoten. Es wird ein Kontextmenü mit den in der folgenden Tabelle beschriebenen Optionen angezeigt:
Menüoption
Beschreibung
GoTo Source
Wählen Sie diese Option zur Anzeige des XML-Quellcodes für einen Knoten, der einer Java-Methode, einem Workflow, Formular, einer Regel oder einem XPRESS-Objekt entspricht. Ausführliche Informationen zu dieser Ansicht finden Sie unter Wie findet und verwaltet der Profiler Quellcode?.
Show Back Traces
Wählen Sie diese Option, um zur Rückverfolgungsansicht zu schalten. Ausführliche Informationen zu dieser Ansicht finden Sie unter Rückverfolgungsansicht.
Show Callees
Wählen Sie diese Option, um zur Ansicht der aufgerufenen Routinen zu schalten. Ausführliche Informationen zu dieser Ansicht finden Sie unter Ansicht der aufgerufenen Routinen.
Find In Hotspots
Wählen Sie diese Option, um in der Hotspot-Ansicht einen Knoten zu suchen. Ausführliche Informationen zu dieser Ansicht finden Sie unter Hotspot-Ansicht.
List Options > Sort >
Wählen Sie diese Option, um den Sortiermodus festzulegen. Sortierung nach:
List Options > Change Visible Columns
Wählen Sie diese Option, um die angezeigten Tabellenspalten in der Ansicht der Aufrufhierarchie bzw. Hotspot-Ansicht zu ändern.
Im Dialogfeld „Change Visible Columns“ können Sie eine oder mehrere der folgenden Optionen festlegen:
Suchen eines Snapshots
Mit dem Suchsymbol
am oberen Rand der Snapshot-Ansicht können Sie in der Ansicht der Aufrufhierarchie bzw. der Hotspot-Ansicht Knoten nach Namen suchen.
Alternativ dazu können Sie in der Ansicht der Aufrufhierarchie bzw. in der Hotspot-Ansicht mit der rechten Maustaste auf einen beliebigen Knoten klicken und aus dem angezeigten Kontextmenü die Option „Find in Call Tree“ bzw. „Find in Hotspots“ auswählen.
Speichern eines Snapshots
Der Profiler bietet mehrere Möglichkeiten zum Speichern eines Snapshots. Die folgende Tabelle enthält eine Beschreibung dieser Optionen:
Symbol
Zweck
Symbol „Save the Snapshot in the Project“ (am oberen Rand der Snapshot-Ansicht)
Speichert den Snapshot im Verzeichnis nbproject/private/idm-profiler Ihres Projekts. Die im Projekt gespeicherten Snapshots werden im Bereich „Saved Snapshots“ der Profiler-Ansicht angezeigt.
![]()
Symbol „Save the Snapshot Externally“ (am oberen Rand der Snapshot-Ansicht)
Speichert den Snapshot in einem beliebigen externen Verzeichnis.
![]()
Schaltfläche „Save As“ (im Bereich „Saved Snapshots“)
Speichert den Snapshot in einem beliebigen externen Verzeichnis.
Tutorium: Beheben von Leistungsproblemen
Identity Manager enthält ein Tutorium (profiler-tutorial.zip), mit dem Sie lernen können, wie Sie den Profiler zur Problembehebung bei Formularen, Java-Objekten, Regeln, Workflows und XPRESS-Objekten nutzen.
Schritt 1: Erstellen eines Identity Manager-Projekts
Führen Sie die folgenden Schritte aus, um ein Identity Manager-Projekt zu erstellen:
- Wählen Sie „File > New Project“.
- Geben Sie Folgendes an, wenn der Assistent zum Erstellen neuer Projekte angezeigt wird, und klicken Sie dann auf „Weiter“:
- Füllen Sie im Fenster „Name and Location“ die folgenden Felder aus und klicken Sie dann auf „Weiter“.
- Geben Sie den Ort der war-Datei von Identity Manager 8.0 ein, wenn das Dialogfeld „Identity Manager WAR File Location“ angezeigt wird. Beim Entpacken dieser Datei wird in der Regel eine idm.war-Datei im gleichen Verzeichnis erzeugt.
- Klicken Sie auf „Weiter“. Das Fenster „Repository Setup“ wird angezeigt.
Sie brauchen die Standardeinstellungen in diesem Fenster nicht zu ändern. Klicken Sie auf „Fertigstellen“. Wenn im Ausgabefenster von von Identity Manager-IDE die Meldung BUILD SUCCESSFUL angezeigt wird, können Sie die Dateien des Profiler-Tutoriums extrahieren. Anweisungen dazu finden Sie unter Schritt 2: Entpacken des Profiler-Tutoriums.
Schritt 2: Entpacken des Profiler-Tutoriums
Entpacken Sie die Datei profiler-tutorial.zip in das Projekt-Wurzelverzeichnis. Es werden folgende Dateien extrahiert:
<Projekt-Wurzelverzeichnis>/custom/WEB-INF/config/ProfilerTutorial1.xml
<Projekt-Wurzelverzeichnis>/custom/WEB-INF/config/ProfilerTutorial2.xml
<Projekt-Wurzelverzeichnis>/src/org/example/ProfilerTutorialExample.java
<Projekt-Wurzelverzeichnis>/PROFILER_TUTORIAL_README.txt
Sie können jetzt den Profiler starten.
Schritt 3: Starten des Profilers
So starten Sie den Profiler:
- Erhöhen Sie mithilfe der Anleitung unter Vorbereitung die Speicherressourcen für den Server und die Netbeans-JVM.
- Starten Sie den Profiler mit einer der beiden unter Übersicht beschriebenen Möglichkeiten.
- Wenn das Dialogfeld „Profiler Options“ angezeigt wird, können Sie Optionen für das Profiling eingeben.
- Gehen Sie zu Schritt 4: Festlegen von Optionen für das Profiling..
Schritt 4: Festlegen von Optionen für das Profiling
Hinweis
Weitere Informationen zu den verschiedenen Profiler-Optionen finden Sie unter Festlegen von Optionen für das Profiling.
Für dieses Tutorium sollten Sie die folgenden Profiler-Optionen eingeben:
- Wählen Sie in der Registerkarte „Mode“ die Option „Java and IDM Objects“, um das Profiling für Formulare, Regeln, Workflows, Java- und XPRESS-Objekte durchzuführen.
- Klicken Sie auf die Registerkarte „Java Filters“.
Gehen Sie wie folgt vor, um alle Java-Klassen von Identity Manager außer Ihre benutzerspezifischen Java-Klassen (in diesem Fall org.example.ProfilerTutorialExample) zu deaktivieren:
- Klicken Sie auf „New“. Ein neues leeres Feld erscheint am Ende der Filterspalte.
- Geben Sie in das neue Feld com.waveset.* ein und markieren Sie dann das Kontrollkästchen „Exclude“.
- Klicken Sie erneut auf „New“.
- Geben Sie in das neue Feld com.sun.idm.* ein und markieren Sie dann das Kontrollkästchen „Exclude“.
- Klicken Sie auf „OK“, um den Profiler auszuführen.
Hinweis
Der Profiler benötigt einige Minuten zur Abarbeitung, wenn er zum ersten Mal nach einer Clean Project-Aktion an einem Projekt ausgeführt wird.
Nach Abschluss des Profiling werden Sie aufgefordert, sich anzumelden.
- Geben Sie das Passwort configurator ein, markieren Sie das Kontrollkästchen „Passwort speichern“ und klicken Sie anschließend auf „OK“, um fortzufahren.
- Melden Sie sich an, wenn das Identity Manager-Fenster angezeigt wird.
Hinweis
Normalerweise sollten Sie sich in Identity Manager als ein anderer Benutzer statt nochmals als configurator anmelden. Sie sind im Profiler bereits als „configurator“ angemeldet, und der Sitzungspool von Identity Manager erlaubt nur einen Eintrag pro Benutzer. Mehrere Benutzereinträge können die Funktion des Sitzungspools beeinträchtigen und die feiner abgestimmte Suche nach Leistungsproblemen erschweren.
In diesem einfachen Beispiel hat dies jedoch keine Auswirkungen, sodass Sie sich als configurator/configurator anmelden können.
- Wählen Sie in Identity Manager „Serveraufgaben > Aufgaben ausführen“, und klicken Sie dann auf „ProfilerTutorialWorkflow1“.
Es kann sein, dass es einige Augenblicke dauert, bis das Tutorium reagiert.
- Obwohl Sie jetzt schon einen Snapshot erstellen können, sollten Sie zunächst die Profiling-Ergebnisse löschen, den Profiler starten, ihn nochmals ausführen und dann erst einen Snapshot erstellen.
Hinweis
Am Besten ist es, den Profiler vor dem Erstellen eines Snapshots einige Male auszuführen, damit Sie sicherstellen können, dass alle Cache-Speicher vorbereitet und alle JSPs compiliert sind usw.
Durch mehrmalige Ausführung des Profilers können Sie sich auf die eigentlichen Leistungsprobleme konzentrieren. Die einzige Ausnahme von dieser Regel besteht dann, wenn beim Füllen des Cache-Speichers selbst Probleme auftreten.
- Gehen Sie zur IDM-Profileransicht in der Identity Manager-IDE zurück. Klicken Sie auf das Symbol „Reset Collected Results“
im Abschnitt „Profiling Results“ (oder „Controls“), um alle bisher erfassten Profiling-Ergebnisse zu löschen.
- Wählen Sie in Identity Manager erneut „Serveraufgaben > Aufgaben ausführen“, und klicken Sie dann auf „ProfilerTutorialWorkflow1“.
- Wenn das Prozessdiagram angezeigt wird, sollten Sie zur Identity Manager-IDE zurückgehen und im Abschnitt „Profiling Results“ auf „Take Snapshot“ klicken.
- Die Identity Manager-IDE lädt die Snapshots und zeigt die Ergebnisse in der rechten Fensterhälfte an.
Dieser Bereich wird als Ansicht der Aufrufhierarchie bezeichnet. In der obersten Ebene der Aufrufhierarchie sollte /idm/task/taskLaunch.jsp zusammen mit einer Zeitdauer in der Spalte „Time“ erscheinen. Die Zeit sollte zeigen, dass der gesamte Vorgang sechs oder mehr Sekunden dauerte.
- Klappen Sie den Knoten /idm/task/taskLaunch.jsp auf, und jetzt sehen Sie, dass ProfilerTutorialWorkflow1 sechs Sekunden dauerte.
- Klappen Sie den Knoten ProfilerTutorialWorkflow1 auf. Beachten Sie, dass activity2 vier Sekunden und activity1 zwei Sekunden dauerte.
- Klappen Sie activity2 auf.
Beachten Sie, dass action1 zwei Sekunden und action2 zwei Sekunden dauerte.
- Klappen Sie action1 auf. Sie sehen, dass der Aufruf (<invoke>) ebenfalls zwei Sekunden dauerte.
- Doppelklicken Sie auf <invoke>, um ProfilerTutorialWorkflow1.xml zu öffnen, und markieren Sie die folgende Zeile:
<invoke name='example' class='org.example.ProfilerTutorialExample'/>
Sie sollten sehen, dass der Aufruf der Methode ProfilerTutorialExample zwei Sekunden dauerte.
Hinweis
Statt des Quellcodes im Projekt schauen Sie sich durch den Snapshot erfassten XML-Code an. Snapshots sind vollkommen unabhängig (Weitere Informationen dazu finden Sie unter Wie findet und verwaltet der Profiler Quellcode?.)
- Klicken Sie auf die Registerkarte „CPU:<Datum><Zeit>“, um zum Snapshot zurückzukehren.
- Klappen Sie den <invoke>-Knoten auf. Sie sehen, dass der Profiler zwei Sekunden in der Java-Methode ProfilerTutorialExample.example() verbracht hat.
- Doppelklicken Sie auf den Methodennamen, um den Quellcode (ProfilerTutorialExample.java) zu öffnen, und markieren Sie die folgende Zeile:
- Wenn Sie zur Ansicht der Aufrufhierarchie zurückkehren, sehen Sie, dass alle 2 s-Pfade zu dieser Methode führen. Es sollten isg. drei Pfade mit einer Gesamtdauer von sechs Sekunden zu sehen sein.
- Klicken Sie auf die Registerkarte „Hotspots“ am unteren Rand der Aufrufhierarchie, um die Hotspot-Ansicht zu öffnen. Sie sehen, dass die Methode ProfilerTutorialExample.example() insgesamt sechs Sekunden zur Ausführung benötigte.
Weitere Informationen zu Hotspots finden Sie unter Hotspot-Ansicht.
- Klicken Sie mit der rechten Maustaste auf ProfilerTutorialExample.example() und wählen Sie aus dem Kontextmenü die Option „Show Back Traces“.
Im unteren Bereich wird eine neue Registerkarte namens „Back Traces“ angezeigt.
- Klappen Sie den Knoten ProfilerTutorialExample.example() in der Registerkarte „Back Traces“ auf. Sie sehen, dass diese Methode an drei verschiedenen Stellen aufgerufen wurde und jede Ausführung zwei Sekunden dauerte.
Weitere Informationen zu Rückverfolgungen finden Sie unter Rückverfolgungsansicht.
- Klicken Sie auf das Symbol „Save the snapshot in the project“,
um den Snapshot zu speichern, und schließen Sie ihn.
Im Abschnitt „Saved Snapshots“ der Registerkarte „IDM Profiler“ sollte der gespeicherte Snapshot jetzt aufgeführt sein. Es kann sein, dass Sie bei längeren Listen einen Bildlauf nach unten durchführen müssen, um ihn zu sehen.
- Markieren Sie den gespeicherten Snapshot und klicken Sie dann auf „Open“, um ihn wieder zu öffnen.
Hinweis
Mithilfe der Schaltfläche „Save As“ können Sie Snapshots extern speichern. Mithilfe der Schaltfläche „Load“ laden Sie einen Snapshot von außerhalb eines Projekts.
- Schließen Sie den Snapshot wieder.
Verwenden des Profilers für die Workflow-Aktion „ManualAction“
Der nächste Abschnitt dieses Tutoriums befasst sich mit dem Profiling einer „ManualAction“ eines Workflows.
- Wählen Sie in Identity Manager „Serveraufgaben > Aufgaben ausführen“, und klicken Sie dann auf „ProfilerTutorialWorkflow2“.
Nach einigen Sekunden wird ein leeres Formular angezeigt.
- Klicken Sie auf „Speichern“. Das Prozessdiagramm wird angezeigt.
- Klicken Sie erneut auf „Serveraufgaben > Aufgaben ausführen“.
- Gehen Sie zur IDM-Profileransicht der Identity Manager-IDE zurück und klicken Sie im Abschnitt „Profiling Results“ auf „Reset Collected Results“.
- Klicken Sie jetzt in Identity Manager auf ProfilerTutorialWorkflow2.
- Klicken Sie auf „Speichern“, wenn das leere Formular erneut angezeigt wird.
- Klicken Sie in der IDM-Profileransicht auf „Take Snapshot“.
Nach einigen Sekunden wird in der Aufrufhierarchie ein Snapshot angezeigt. Sie sehen, dass /idm/task/workItemEdit.jsp zur Ausführung ca. sechs Sekunden benötigte. Dieses Ergebnis entspricht dem der manuellen Aktion im Workflow.
- Klappen Sie den Knoten /idm/task/workItemEdit.jsp auf. Sie sehen, dass die Ausführung aller Ableitungen im Formular ManualAction sechs Sekunden dauerte.
- Klappen Sie die Knoten Derivation, displayNameForm, variables.dummy und <block> auf.
Sie sehen, dass der <block>-Knoten zur Ausführung sechs Sekunden benötigte und der Profiler in jedem Aufruf derMethode ProfilerTutorialExample.example() zwei Sekunden verbracht hat.
- Sie können auf <block>doppelklicken, um den Quellcode zu sehen.
Identity Manager-IDE Häufig gestellte Fragen
Hier werden einige häufig gestellte Fragen in Bezug zur Identity Manager Integrated Development Environment (Identity Manager-IDE) beantwortet. Diese Informationen sind in die folgenden Kategorien unterteilt:
Arbeiten mit NetBeans
F: Welche Netbeans-Version sollte ich verwenden?
A: Verwenden Sie die Netbeans-Version, die in der Identity Manager-Produktdokumentation für die Version des von Ihnen verwendeten Netbeans-Plugins angegeben ist.
Hinweis
Sie sollten stets genau die gleiche Version verwenden, die in der Dokumentation angegeben ist, da auch Patch-Releases die Funktionalität beeinträchtigen können.
F: Das Netbeans-Plugin funktionierte, ich habe Änderungen vorgenommen, und jetzt funktioniert es nicht mehr. Was könnte die Ursache sein?
A: Solche Probleme werden im Allgemeinen von beschädigten Dateien im Verzeichnis .netbeans verursacht. Durch Löschen des Verzeichnisses .netbeans und Neuinstallation des NetBeans-Plugins wird dieses Problem normalerweise beseitigt. (Durch Löschen des Verzeichnisses .netbeans wird das NetBeans-Plugin praktisch deinstalliert. Sie verlieren zwar alle Ihre benutzerspezifischen Einstellungen, Projekte sind jedoch sicher und werden nicht gelöscht.)
Gehen Sie dazu wie folgt vor:
Arbeiten mit Projekten
F: Das Erstellen und Ausführen eines Projekts dauert sehr lange, und die Identity Manager-IDE scheint viele Dateien zu kopieren. Was könnte die Ursache sein?
A: Dieses Problem kann unter folgenden Bedingungen auftreten:
Bei Verwendung von Clean Project bzw. Clean And Build Project löscht die Identity Manager-IDE das gesamte image-Verzeichnis, das mehrere Tausend Dateien enthält. Beim nächsten Build muss die Identity Manager-IDE alle diese Dateien von idm-staging kopieren.
Zur effektiven Verwendung der Identity Manager-IDE muss Ihnen klar sein, wann die Clean-Befehle eingesetzt werden sollten. Weitere Informationen dazu finden Sie im Abschnitt „When to Use Clean“ in der Datei README.txt der Identity Manager-IDE.
F: Welche Dateien sollten nach der Erstellung eines Identity Manager-Projekts in ein Quellcodeverwaltungssystem eingecheckt werden?
A: Weitere Informationen dazu finden Sie im Abschnitt „CVS Best Practices“ in der Datei README.txt der Identity Manager-IDE.
F: Wie verwende ich die CVS-Funktionen zur Projektverwaltung optimal?
A: Weitere Informationen dazu finden Sie im Abschnitt „CVS Best Practices“ in der Datei README.txt der Identity Manager-IDE.
F: Wann werden Objekte in das Repository importiert?
A: Informationen dazu finden Sie unter Arbeiten mit dem Repository.
F: Wie füge ich zu einem Projekt eine neue JAR-Datei hinzu?
A: Weitere Informationen dazu finden Sie im Abschnitt „How to add a new JAR dependency“ in der Datei README.txt der Identity Manager-IDE.
Arbeiten mit dem Repository
F: Welches Repository sollte ich für ein Sandbox-Repository verwenden?
A: Verwenden Sie für eine Sandbox ein eingebettetes Repository. Dies gilt insbesondere dann, wenn Sie Identity Manager 7.1 (oder höher) verwenden, da diese Version ein HsSQL-Repository besitzt. Wenn Sie kein eingebettetes Repository verwenden, verlieren Sie Funktionalität.
Weitere Informationen dazu finden Sie im Abschnitt „Working with the Repository“ in der Datei README.txt der Identity Manager-IDE.
F: Wann werden Objekte automatisch importiert?
A: Die Identity Manager-IDE muss zum automatischen Import von Objekten speziell konfiguriert werden.
Gehen Sie dazu wie folgt vor:
- Wählen Sie aus dem IDM-Menü die Option „Repository > Manage Embedded Repository“.
- Aktivieren Sie im Dialogfeld „Manage Embedded Repository“ die Option „Automatically Publish Identity Manager Objects“.
Hinweis
Diese Option ist nicht bei Identity Manager-Fernprojekten und bei der Nutzung eines eigenen Repositorys verfügbar.
- Wählen Sie „Projekt > Projekt ausführen“ bzw. „Projekt > Debug Project“.
Die Identity Manager-IDE importiert automatisch alle Objekte, die seit der letzten Projektausführung geändert wurden.
F: Wie können Objekte am effektivsten geladen werden?
A: Wählen Sie eine der folgenden Vorgehensweisen, um geänderte Objekte neu zu laden:
- Klicken Sie mit der rechten Maustaste auf die geänderten Objekte in der Projekthierarchie und wählen Sie anschließend im angezeigten Kontextmenü die Option „Objekt hochladen“.
Tipp
Zum Laden mehrerer Objekte müssen Sie beim Markieren der Objekte in der Liste die STRG-Taste gedrückt halten.
- Markieren Sie alle geänderten Objekte und wählen Sie anschließend im IDM-Menü die Option „Repository > Objekte hochladen“. Es wird ein Dialogfeld angezeigt, sodass Sie die hochzuladenden Objekte auswählen können.
Alle diese Methoden laden die betreffenden Objekte direkt auf den Server, sodass es keine Probleme mit Antwortzeiten des Cache-Speichers gibt und diese somit sehr viel schneller als die Optionen „Projekt ausführen“ bzw. „Debug Project“ ausgeführt werden. Die Hochladefunktion für Objekte ist bei allen Repositorys verfügbar.
Arbeiten mit dem Debugger der Identity Manager-IDE
F: Der Debugger der Identity Manager-IDE ist sehr langsam. Was könnte die Ursache sein?
A: Zur Leistungsverbesserung des Debuggers sollten Sie stets Folgendes sicherstellen:
- Der Tomcat HTTP-Monitor sollte stets deaktiviert sein. Gehen Sie dazu wie folgt vor:
- Klicken Sie in der Identity Manager-IDE auf die Registerkarte „Laufzeit“.
- Klappen Sie den Serverknoten auf und klicken Sie mit der rechten Maustaste auf „Bundled Tomcat“. Wählen Sie dann aus dem Kontextmenü die Option „Eigenschaften“.
- Deaktivieren Sie das Kontrollkästchen „HTTP-Monitor aktivieren“ und schließen Sie das Dialogfeld.
Beim nächsten Start von Tomcat wird der HTTP-Monitor deaktiviert.
- Wenn Sie keine Fehlersuche an Java-Quellcode durchführen, sollten Sie „Projekt > Projekt ausführen“ wählen und dann auf „Attach Debugger > Identity Manager XML Object Debugger“ klicken, um nur den XPRESS-Debugger zu verwenden.
F: Ich sehe keine Haltepunkte im Debugger. Was könnte die Ursache sein?
A: Das Setzen von Haltepunkten kann in den folgenden Situationen verhindert werden:
Die Identity Manager-IDE ignoriert praktisch alle Dateien, die mit dem Wrapper-Element <Waveset> beginnen, da die Identity Manager-IDE dieses Element als Datei mit mehreren Objekten interpretiert.
Folgende Module funktionieren nicht mit Dateien, die mehrere Objekten enthalten:
Dateien, die mehrere Objekten enthalten, können praktisch nur importiert werden. Die einzigen Dateien, die ein Wrapper-Element <Waveset> enthalten, sollten die Dateien auf der obersten Ebene einer Projekthierarchie sein.
F: Ich habe im Debugger einen Haltepunkt gesetzt, und dieser Haltepunkt kann nicht temporär deaktiviert werden. Was könnte die Ursache sein?
A: Sie sollten zwei Dinge überprüfen:
Arbeiten mit Regeln
F: Warum steht der Designmodus bei der Entwicklung von Netbeans-Regeln nicht für Regelbibliotheken zur Verfügung?
A: Der Designmodus ist in der Explorerhierarchie der Projektansicht verfügbar. Führen Sie dazu die folgenden Schritte aus:
Identity Manager Tuning, Troubleshooting, and Error MessagesDieser Abschnitt enthält neue Informationen und Dokumentationskorrekturen für das Dokument Sun Identity Manager Tuning, Troubleshooting, and Error Messages.
- Einige Aufgaben wurden vom Adapter- zum Aufgabenpaket verschoben. Wenn Sie für die folgenden Aufgaben die Verfolgung aktiviert haben oder mit benutzerdefinierten Aufgabendefinitionen arbeiten, die auf diese Paket verweisen, müssen diese Pfade aktualisiert werden.
Alter Paketname
Neuer Paketname
com.waveset.adapter.ADSyncFailoverTask
com.waveset.task.ADSyncFailoverTask
com.waveset.adapter.ADSyncRecoveryCollectorTask
com.waveset.task.ADSyncRecoveryCollectorTask
com.waveset.adapter.SARunner
com.waveset.task.SARunner
com.waveset.adapter.SourceAdapterTask
com.waveset.task.SourceAdapterTask
- Die Fehlerbehebungs-Informationen zum Thema „Unable to Delete Errors“, die bisher im Abschnitt „Troubleshooting Identity Manager IDE“ enthalten waren, sind nicht mehr relevant und wurden entfernt. Der integrierte Netbeans-Anwendungsserver wird jetzt automatisch heruntergefahren, wenn Sie eine der folgenden Projektoperationen ausführen: (ID-16851)
- Der Abschnitt „Debugging PasswordSync“ wurde aus dem Kapitel „PasswordSync“ im Dokument Identity Manager Administration in das Kapitel „Tracing and Troubleshooting Identity Manager“ im Dokument Identity Manager Tuning, Troubleshooting, and Error Messages verschoben. (ID-17340)
Umfang der LokalisierungIn Identity Manager wurden und werden Ressourcenobjekte und Funktionen nicht lokalisiert, denn es handelt sich in erster Linie um Beispiele, die während der Initialisierung von Identity Manager geladen werden (über init.xml). Zudem können die Attribute von Objekttypen in verschiedenen Bereitstellungsumgebungen beim Kunden variieren, je nachdem, wie stark die Bereitstellung angepasst wurde. Im Folgenden sind die Bereiche aufgeführt, in denen die Benutzer auf englische Ausdrücke stoßen können: (ID-16349)
OnlinehilfeDieser Abschnitt enthält Korrekturen an der Onlinehilfe.