Las reglas de validación y conjuntos de reglas para CA IdentityMinder se definen mediante el elemento ImsManagedObjectAttrValidation del archivo directory.xml.
El esquema para el elemento ImsManagedObjectAttrValidation es el siguiente:
<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>
Los elementos siguientes se definen:
Está formado por una o varias reglas de validación predefinidas o personalizadas. Una regla de validación se especifica en el elemento ValidationRule.
Las reglas de validación predefinidas y las personalizadas pueden aparecer en el mismo conjunto de reglas. Además, un conjunto de reglas puede contener cualquier combinación de implementaciones de Java, JavaScript y expresiones regulares.
Las reglas de validación se llevan a cabo en el orden en el que aparecen en ValidationRuleSet. Esto permite posibilita la validación en cascada, en la que la salida de una regla se utiliza como entrada en la siguiente.
ValidationRuleSet está asociado con un atributo del objeto gestionado en el elemento ImsManagedObjectAttr del archivo directory.xml.
Especifica una regla de validación para utilizarse en ValidationRuleSet.
ValidationRule debe contener solamente uno de los subelementos siguientes:
La mayor parte de los atributos de los elementos descritos previamente se explica por sí misma. Sin embargo, los siguientes atributos requieren una explicación:
Con las reglas de validación de Java, la clase de Java se deberá implementar en la siguiente ubicación de raíz dentro del servidor de aplicaciones:
iam_im.ear\custom
Los archivos de clase en esta ubicación de raíz deben estar completamente cualificados, pero no necesitan ninguna otra información de la ruta, por ejemplo, com.mycompany.MyJavaImpl.
Con una regla de validación implementada en un archivo de origen de JavaScript, el archivo se deberá implementar en la siguiente ubicación de raíz dentro de su servidor de aplicaciones:
iam_im.ear\custom\validationscripts
Se hace referencia a los archivos de origen de JavaScript en esta ubicación de raíz por su nombre solamente, por ejemplo, MyJavaScriptImpl.js.
El ID de mensaje especificado en este atributo se asigna a un mensaje de error en el paquete de recursos IMSExceptions.properties.
Todos los tipos de reglas de validación (Java, JavaScript, JavaScriptFile y RegularExpression) contienen un atributo messageid.
Ejemplo: expresión regular integrada
El siguiente ejemplo muestra la regla de validación predefinida del patrón Teléfono, que está incluida en el formato Teléfono del conjunto de reglas. La regla se implementa de forma integrada como expresión regular:
<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>
En el ejemplo anterior, messageid="4001" se asigna a la siguiente línea en IMSExceptions.properties:
4001=Attribute Validation: {0} value must match regular expression
nnn-nnn-nnnn.
Ejemplo: referencia al archivo JavaScript
El ejemplo siguiente especifica la regla EndWithZ_js. Esta regla se implementa en JavaScript y el script se encuentra en el archivo EndWithZ.js. El conjunto de reglas que incluye la regla no se muestra en el ejemplo:
<ValidationRule name="EndWithZ_js" messageid="custom-5001"> <JavaScriptFile file="EndWithZ.js" /> </ValidationRule>
En el ejemplo anterior, se supone que el archivo de JavaScript está en la siguiente ubicación predeterminada:
iam_im.ear\custom\validationscripts
|
Copyright © 2014 CA.
Todos los derechos reservados.
|
|