Objetos extensibles
Si se define un objeto como extensible, significa que puede contener cualquier atributo que ya está definido en el esquema del agente de sistema de directorio.
cad126es
Si se define un objeto como extensible, significa que puede contener cualquier atributo que ya
está
definido en el esquema del agente de sistema de directorio.Los objetos extensibles se definen en RFC 4512. Este estándar define la clase de objeto auxiliar
extensibleObject
.La clase de objeto auxiliar
extensibleObject
se define en el archivo de esquema ldapv3.dxc, que se suministra con CA Directory. Sin embargo, no está en el grupo del esquema predeterminado. Si se desea que un agente de sistema de directorio utilice este esquema, se debe agregar al archivo de inicialización del agente de sistema de directorio.Existen dos formas de hacer que un objeto sea extensible:
- Agregue la clase de objetoextensibleObjecta un objeto.Para obtener instrucciones, consulte Cómo hacer que un objeto existente sea extensible.
- Agregueall-attributesa la lista de atributos puede-contener en el esquema.Para obtener instrucciones, consulte Cómo hacer que una clase de objeto existente sea extensible.
Cómo hacer que una clase de objeto existente sea extensible
Si se está escribiendo un esquema de un agente de sistema de directorio de CA Directory, se puede hacer que una clase de objeto sea extensible.
Para hacer que una clase de objeto existente sea extensible
- Abra el archivo de esquema y encuentre la clase de objeto que se desea actualizar.
- Agregueall-attributesa la lista de atributospuede-contener, tal y como se muestra a continuación:schema set object-class prefix:2 = { ... may-contain all-attributes ... };
- Inicialice el agente de sistema de directorio.
Cómo hacer que un objeto existente sea extensible
Si se está utilizando un esquema existente, se puede hacer que un objeto sea extensible.
Esta sección describe cómo realizar esta tarea utilizando JXplorer.
Para hacer que un objeto existente sea extensible
- Si el agente de sistema de directorio no incluye ldapv3.dxc en su esquema, realice lo siguiente:
- Agregueldapv3.dxcal archivo de inicialización del agente de sistema de directorio después de suministrar el esquema X.500, como en el ejemplo siguiente:source "../schema/dxmanager.dxg"; source "../schema/ldapv3.dxc";
- Inicialice el agente de sistema de directorio utilizando el siguiente comando:dxserver init dsa-name
- En JXplorer, conéctese al agente de sistema de directorio.
- Vaya al objeto que se desea cambiar.
- En el panel derecho, seleccione la ficha Editor de tablas para mostrar los atributos de este objeto.
- Haga clic en el botón Cambiar clase.
- En el cuadro de diálogo Set Object Entry Classes (Establecer clases de entrada de objeto), encuentre la clase de objetoextensibleObjectde clase de objeto en la lista de clases disponibles.
- Seleccione la clase de objetoextensibleObject, haga clic en Agregar y haga clic en Aceptar.
- Haga clic en Enviar para guardar los cambios realizados en este objeto.Este objeto ahora puede utilizar cualquier atributo que se haya definido en el esquema del agente de sistema de directorio.
Adición de un atributo a un objeto extensible
Después de haber hecho que un objeto fuese extensible, se puede agregar cualquier atributo del esquema a ese objeto.
No se puede utilizar JXweb. Esta sección describe cómo hacerlo utilizando los comandos de la consola del agente de sistema de directorio.
Para agregar un atributo a un objeto extensible
- Asegúrese de que el objeto sea extensible, tal y como se describe en la sección anterior.
- Abra la consola del agente de sistema de directorio y realice un enlace al agente de sistema de directorio utilizando el comando siguiente:bind-req;
- Agregue el atributo a la entrada utilizando el comando siguiente:mod-entry-req entry=DN add-attr {attribute-name "attribute-value"};Por ejemplo, para agregar el atributocarLicensecon el valor EXT 133 a la entrada de la organización Democorp, utilice el siguiente comando:mod-entry-req entry=<c au><o democorp> add-attr {carLicense "EXT 133"};
Ejemplo: Cómo hacer que una definición de clase de objeto sea extensible
La siguiente definición de esquema define la clase de objeto
newPerson
, que se hereda de la clase de objeto person
.La clase de objeto
person
debe contener los atributos cn
y surname
, lo que significa que la clase de objeto newPerson
también debe incluir estos atributos. Además, puede contener cualquier otro atributo definido.schema set object-class myprefix:1 = { name = newPerson subclass-of person may-contain all-attributes };