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 :
- Ajoutez la classe d’objetsextensibleObjectà un objet.Pour obtenir des instructions, reportez-vous à la section Rendre un objet existant extensible.
- Ajoutezall-attributesà la liste may-contain dans le schéma.Pour obtenir des instructions, reportez-vous à la section Rendre une classe d'objets existante 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
- Ouvrez le fichier de schéma et recherchez la classe d’objets que vous souhaitez mettre à jour.
- Ajoutezall-attributesà la listemay-contain, comme suit :schema set object-class prefix:2 = { ... may-contain all-attributes ... };
- 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
- Si le DSA n’inclut pas le fichier ldapv3.dxc dans son schéma, procédez comme suit :
- Ajoutezldapv3.dxcau 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";
- Initialisez le DSA à l’aide de la commande suivante :dxserver init dsa-name
- Dans JXplorer, connectez-vous au DSA.
- Accédez à l’objet que vous souhaitez modifier.
- Dans le volet droit, sélectionnez l’onglet d’éditeur Editor Table pour afficher les attributs de l'objet.
- Cliquez sur le bouton Change Class.
- Dans la boîte de dialogue Set Object Entry Classes, recherchez la classe d’objetsextensibleObjectdans la liste Availables Classes.
- Sélectionnez la classe d’objetsextensibleObject, cliquez sur Add, puis sur OK.
- 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
- Assurez-vous que l’objet est extensible, comme décrit dans la section précédente.
- Ouvrez une console de DSA et liez le DSA à l’aide de la commande suivante :bind-req;
- 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’attributcarLicenseavec 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 };