Objets extensibles

Si vous définissez un objet comme extensible, il peut contenir un attribut déjà défini dans le schéma de DSA.
cad126fr
Si vous définissez un objet comme extensible, il peut contenir un attribut
déjà
défini dans le schéma de DSA.
Les objets extensibles sont définis dans la demande RFC 4512. Cette norme régit la classe d’objets auxiliaires
extensibleObject
.
La classe d’objets auxiliaires 
extensibleObject
 est définie dans le fichier de schéma ldapv3.dxc fourni avec CA Directory. Toutefois, elle ne figure pas dans le groupe de schéma par défaut. Si vous souhaitez qu'un DSA utilise ce schéma, vous devez l’ajouter au fichier d’initialisation du DSA.
Il existe deux méthodes pour rendre un objet extensible :
Rendre une classe d’objets existante extensible
Si vous écrivez un schéma pour un DSA CA Directory, vous pouvez rendre une classe d’objets extensible.
Pour rendre une classe d’objets existante extensible
  1. Ouvrez le fichier de schéma et recherchez la classe d’objets que vous souhaitez mettre à jour.
  2. Ajoutez 
    all-attributes
    à la liste 
    may-contain
    , comme suit :
    schema set object-class prefix:2 = { ... may-contain all-attributes ... };
  3. Initialisez le DSA.
Rendre un objet existant extensible
Si vous utilisez un schéma existant, vous pouvez rendre un objet extensible.
Cette section décrit comment procéder à l’aide de JXplorer.
Pour rendre un objet existant extensible
  1. Si le DSA n’inclut pas le fichier ldapv3.dxc dans son schéma, procédez comme suit :
    1. Ajoutez
      ldapv3.dxc
      au fichier d’initialisation du DSA après que le schéma X.500 soit utilisé comme source, comme dans l’exemple suivant :
      source "../schema/dxmanager.dxg"; source "../schema/ldapv3.dxc";
    2. Initialisez le DSA à l’aide de la commande suivante :
      dxserver init dsa-name
  2. Dans JXplorer, connectez-vous au DSA.
  3. Accédez à l’objet que vous souhaitez modifier.
  4. Dans le volet droit, sélectionnez l’onglet d’éditeur Editor Table pour afficher les attributs de l'objet.
  5. Cliquez sur le bouton Change Class.
  6. Dans la boîte de dialogue Set Object Entry Classes, recherchez la classe d’objets
    extensibleObject
     dans la liste Availables Classes.
  7. Sélectionnez la classe d’objets
    extensibleObject
    , cliquez sur Add, puis sur OK.
  8. Cliquez sur Submit pour enregistrer les modifications apportes à cet objet.
    Cet objet peut désormais utiliser n’importe quel attribut défini dans le schéma de DSA.
Ajout d’un attribut à un objet extensible
Une fois que vous avez rendu un objet extensible, vous pouvez lui ajouter un attribut dans le schéma.
Vous ne pouvez pas effectuer cette opération avec JXweb. Cette section décrit comment procéder à l’aide des commandes de la console de DSA.
Pour ajouter un attribut à un objet extensible
  1. Assurez-vous que l’objet est extensible, comme décrit dans la section précédente.
  2. Ouvrez une console de DSA et liez le DSA à l’aide de la commande suivante :
    bind-req;
  3. Ajoutez l’attribut à l’entrée à l’aide de la commande suivante :
    mod-entry-req entry=DN add-attr {attribute-name "attribute-value"};
    Par exemple, pour ajouter l’attribut
    carLicense
    avec la valeur EXT 133 à l’entrée de l’organisation Democorp, utilisez la commande suivante :
    mod-entry-req entry=<c au><o democorp> add-attr {carLicense "EXT 133"};
Exemple d’extension d’une définition de classe d’objets
La définition de schéma suivante définit la classe d’objets
newPerson
, qui hérite de la classe d’objets
person
.
La classe d’objets
person
 doit contenir les attributs
cn
et
surname
, ce qui signifie que la classe d’objets
newPerson
doit également inclure ces attributs. En outre, elle peut contenir n’importe quel autre attribut défini.
schema set object-class myprefix:1 = { name = newPerson subclass-of person may-contain all-attributes };