Definieren Sie die Validierungsregeln und Regelsätze für CA IdentityMinder über das "ImsManagedObjectAttrValidation"-Element der Datei "directory.xml".
Das Schema für das ImsManagedObjectAttrValidation-Element lautet wie folgt:
<xs:element name="ImsManagedObjectAttrValidation" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="ValidationRule" minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:choice>
<xs:element name="Java">
<xs:complexType>
<xs:attribute name="class" type="xs:string"
use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="JavaScript">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="JavaScriptFile">
<xs:complexType>
<xs:attribute name="file" type="xs:string"
use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="RegularExpression">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:choice>
<xs:attribute name="name" type="xs:string"
use="required"/>
<xs:attribute name="description" type="xs:string"
use="optional"/>
<xs:attribute name="messageid" type="xs:string"
use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="ValidationRuleSet" minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ValidationRule"
maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="name" type="xs:string"
use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="name" type="xs:string"
use="required"/>
<xs:attribute name="description" type="xs:string"
use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
Die folgenden Elemente werden definiert:
Besteht aus einem oder mehreren vordefiniertem oder benutzerdefinierten Validierungsregeln. Eine Validierungsregel wird im ValidationRule-Element angegeben.
Vordefinierte und benutzerdefinierte Validierungsregeln können im selben Regelsatz angezeigt werden. Außerdem kann ein Regelsatz eine Kombination von Java-, JavaScript- oder regulären Ausdrucks-Implementierungen enthalten.
Validierungsregeln werden in der Reihenfolge ausgeführt, in der sie in "ValidationRuleSet" angezeigt werden. Dies ermöglicht überlappende Validierung, bei der die Ausgabe von einer Regel als Eingabe der nächsten verwendet wird.
"ValidationRuleSet" wird mit einem verwalteten Objektattribut im "ImsManagedObjectAttr"-Element der Datei "directory.xml" verknüpft.
Gibt eine Validierungsregel zur Verwendung in ValidationRuleSet an.
ValidationRule muss nur eines der folgenden Unterelemente enthalten:
Die meisten Attribute der zuvor beschriebenen Elemente sind selbsterklärend. Allerdings benötigen die folgenden Attribute eine Erklärung:
Bei Java-Validierungsregeln muss die Java-Klasse im folgenden Stammverzeichnis innerhalb Ihres Anwendungsservers bereitgestellt werden:
iam_im.ear\custom
Klassen-Dateien in diesem Stammverzeichnis müssen vollständig qualifiziert sein. Sie benötigen aber keine weiteren Pfadinformationen, wie zum Beispiel com.mycompany.MyJavaImpl.
Bei einer in eine JavaScript-Quelldatei implementierten Validierungsregel muss die Datei im folgenden Stammverzeichnis innerhalb Ihres Anwendungsservers bereitgestellt werden:
iam_im.ear\custom\validationscripts
Auf JavaScript-Quelldateien in diesem Stammverzeichnis wird ausschließlich anhand des Namens verwiesen, zum Beispiel "MyJavaScriptImpl.js".
Die in diesem Attribut angegebene Meldungs-ID führt eine Zuordnung zu einer Fehlermeldung im Ressourcenbündel "IMSExceptions.properties" aus.
Alle Typen von Validierungsregeln (Java, JavaScript, JavaScriptFile und RegularExpression) enthalten ein Message-ID-Attribut.
Beispiel: Regulärer Inline-Ausdruck
Das folgende Beispiel zeigt die vordefinierte Validierungsregel des Telefonmusters, die in das Telefonformat des Regelsatzes eingebunden wird. Die Regel wird in Reihe wie ein regulärer Ausdruck implementiert:
<ValidationRule name="Phone pattern" description="+nn nnn-nnn-nnnn" messageid="4001"> <RegularExpression> <![CDATA[ ((\+|\d)*+(\s*|\x2D))?\d\d\d-\d\d\d-\d\d\d\d]]> </RegularExpression> </ValidationRule> <ValidationRuleSet name="Phone format" description= "Verify format +nn nnn-nnn-nnnn"> <ValidationRule name="Phone pattern" /> </ValidationRuleSet>
Im vorangehenden Beispiel", wird "messageid="4001"" zur folgenden Zeile in IMSExceptions.properties zugeordnet:
4001=Attribute Validation: {0}-Wert muss mit regulärem Ausdruck übereinstimmen
nnn-nnn-nnnn.
Beispiel: Referenz zu JavaScript-Datei
Das folgende Beispiel gibt die Regel "EndWithZ_js" an. Diese Regel wird in JavaScript implementiert, und das Skript befindet sich in der Datei "EndWithZ.js". Der Regelsatz, der die Regel enthält, wird nicht im Beispiel angezeigt:
<ValidationRule name="EndWithZ_js" messageid="custom-5001"> <JavaScriptFile file="EndWithZ.js" /> </ValidationRule>
Im vorhergehenden Beispiel wird davon ausgegangen, dass die JavaScript-Datei sich im folgenden Standardspeicherort befindet:
iam_im.ear\custom\validationscripts
|
Copyright © 2013 CA.
Alle Rechte vorbehalten.
|
|