Definire regole di convalida e i set di regole in CA IdentityMinder attraverso l'elemento ImsManagedObjectAttrValidation del file directory.xml.
Lo schema per l'elemento ImsManagedObjectAttrValidation è il seguente:
<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>
Vengono definiti i seguenti elementi:
Consiste di una o più regole di convalida predefinite o personalizzate. Una regola di convalida viene specificata nell'elemento ValidationRule.
Nello stesso set di regole possono comparire sia regole predefinite che regole personalizzate. Inoltre, un set di regole può contenere qualsiasi combinazione di implementazioni Java, JavaScript e di espressioni regolari.
Le regole di convalida vengono eseguite nell'ordine in cui sono visualizzate in ValidationRuleSet. In tal modo, è possibie eseguire la convalida a catena, in cui l'output di una regola viene utilizzato come input per la successiva.
ValidationRuleSet è associato a un attributo dell'oggetto gestito nell'elemento ImsManagedObjectAttr del file directory.xml.
Specifica una regola di convalida per l'uso in un ValidationRuleSet.
ValidationRule deve contenere solamente uno degli elementi secondari seguenti:
La maggior parte degli attributi degli elementi precedentemente descritti sono chiari. Tuttavia, gli attributi seguenti richiedono una spiegazione:
Con le regole di convalida Java, è necessario distribuire la classe Java nel seguente percorso root all'interno del server applicazioni:
iam_im.ear\custom
I file delle classi in questo percorso root devono essere completi, ma non hanno bisogno di altre informazioni di percorso, ad esempio, com.mycompany.MyJavaImpl.
Con una regola di convalida implementata in un file di origine JavaScript, è necessario distribuire il file nel seguente percorso root all'interno del server applicazioni:
iam_im.ear\custom\validationscripts
Ai file di origine JavaScript in questo percorso root viene fatto riferimento soltanto per nome, ad esempio, MyJavaScriptImpl.js.
L'ID messaggio specificato in questo attributo esegue il mapping su un messaggio di errore nel raggruppamento di risorse IMSExceptions.properties.
Tutti i tipi di regole di convalida (Java, JavaScript, JavaScriptFile e RegularExpression) contengono un attributo messageid.
Esempio: espressione regolare incorporata
L'esempio seguente mostra la regola di convalida predefinita Phone pattern inclusa nel set di regole Phone format. La regola viene implementata inline sotto forma di una espressione regolare:
<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>
Nell'esempio precedente, messageid="4001" esegue il mapping sulla seguente riga in IMSExceptions.properties:
4001=Attribute Validation: {0} value must match regular expression
nnn-nnn-nnnn.
Esempio: riferimento al file JavaScript
L'esempio seguente specifica la regola EndWithZ_js. Questa regola viene implementata in JavaScript e lo script si trova nel file EndWithZ.js. Il set di regole che include la regola non viene mostrato nell'esempio:
<ValidationRule name="EndWithZ_js" messageid="custom-5001"> <JavaScriptFile file="EndWithZ.js" /> </ValidationRule>
Nell'esempio precedente, si suppone che il file JavaScript si trovi nel seguente percorso predefinito:
iam_im.ear\custom\validationscripts
|
Copyright © 2013 CA.
Tutti i diritti riservati.
|
|