Définissez des règles de validation et des ensembles de règles dans CA IdentityMinder à l'aide de l'élément ImsManagedObjectAttrValidation du fichier directory.xml.
Le schéma de l'élément ImsManagedObjectAttrValidation est le suivant :
<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>
Les éléments suivants sont définis :
Consiste en une ou plusieurs règles de validation personnalisées ou prédéfinies. Une règle de validation est spécifiée dans l'élément ValidationRule.
Les règles de validation prédéfinies et les règles de validation personnalisées peuvent s'afficher dans un même ensemble de règles. Un ensemble de règles peut également contenir une combinaison d'implémentations Java, JavaScript et d'expression régulière.
Les règles de validation sont exécutées dans l'ordre dans lequel elles s'affichent dans l'élément ValidationRuleSet. Cela permet d'effectuer une validation en cascade, c'est-à-dire d'utiliser le résultat d'une règle comme entrée pour la suivante.
ValidationRuleSet est associé à un attribut d'objet géré dans l'élément ImsManagedObjectAttr du fichier directory.xml.
Spécifie une règle de validation à utiliser dans un ensemble ValidationRuleSet.
ValidationRule doit contenir uniquement l'un des sous-éléments suivants :
La plupart des attributs des éléments décrits au préalable sont explicites. Toutefois, les attributs suivants requièrent une explication :
L'utilisation de règles de validation Java requiert le déploiement de la classe Java dans l'emplacement racine suivant sur le serveur d'applications :
iam_im.ear\custom
Les fichiers de classe à cet emplacement racine doivent être complets, sans avoir besoin d'autres informations de chemin d'accès. Par exemple : com.mycompany.MyJavaImpl.
L'implémentation d'une règle de validation dans un fichier source JavaScript requiert le déploiement du fichier à l'emplacement racine suivant sur le serveur d'applications :
iam_im.ear\custom\validationscripts
Les fichiers sources JavaScript à cet emplacement racine sont référencés par leur nom uniquement. Par exemple : MyJavaScriptImpl.js.
L'ID de message spécifié dans cet attribut mappe vers un message d'erreur dans le groupe de ressources IMSExceptions.properties.
Tous les types de règles de validation (JavaScriptFile, JavaScript, Java, et RegularExpression) contiennent un attribut messageid.
Exemple d'expression régulière intégrée
Les exemples suivants contiennent la règle de validation prédéfinie Phone pattern, incluse dans l'ensemble de règles Phone format. La règle est implémentée de manière intégrée sous la forme d'une expression régulière :
<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>
Dans l'exemple précédent, messageid="4001" mappe vers la ligne suivante dans IMSExceptions.properties :
4001=Validation de l'attribut : la valeur {0} doit correspondre à une expression régulière
nnn-nnn-nnnn.
Exemple de référence au fichier JavaScript
L'exemple suivant spécifie la règle EndWithZ_js. Cette règle est implémentée en JavaScript et le script se trouve dans le fichier EndWithZ.js. L'ensemble de règles qui inclut la règle n'est pas affiché dans l'exemple :
<ValidationRule name="EndWithZ_js" messageid="custom-5001"> <JavaScriptFile file="EndWithZ.js" /> </ValidationRule>
Dans cet exemple, le fichier JavaScript se trouve dans l'emplacement par défaut suivant :
iam_im.ear\custom\validationscripts
|
Copyright © 2013 CA.
Tous droits réservés.
|
|