Home > Engine & Repository

Directory

The directory is used by webMethods MDM for authenticating users and defining their roles.

webMethods MDM has a default directory that is integrated in the repository. It is also possible to integrate with a specific enterprise directory.

Conceptual Model: Users, Roles and Profiles

In webMethods MDM, a user can participate in several roles and a role can be shared by several users. Moreover, a role can be included in another role. The generic term "profile" describes either a user or a role.

In addition to the directory defined roles, webMethods MDM provides the following built-in roles:

Role Definition
Profile.ADMINISTRATOR Built-in Administrator role. Administrator role allows to perform general administration tasks.
Profile.PROVIDER Built-in Provider role. Provider role allows to create new root adaptations.
Profile.READ_ONLY Built-in read-only role. A user associated to role read-only has no rights for doing any modifications on webMethods MDM repository. He can only visualize the repository.
Profile.OWNER Dynamic built-in owner role. A user is in Owner role when he is on an adaptation A and when he is in the "owner" profile defined by the root adaptation of A. Additionnally A must not be under an agreement (see DISTRIBUTOR role).
Profile.DISTRIBUTOR Dynamic built-in Distributor role. A user is in Distributor role when he is on an adaptation under an agreement and when he is in the "distributor" profile defined by the agreement.
Profile.EVERYONE All users have this role.

 

The informations related to profiles are mainly defined by the directory. However the association between a user and one of the last three roles (OWNER, DISTRIBUTOR , EVERYONE) must not be managed by the directory, because it is automatically assigned by webMethods MDM. Furthermore, the permissions are managed independently of the directory (see chapter Permissions).

Default directory

Directory's content

 

The default directory is represented by the adaptation named mdm-directory, defined in the "Reference" branch.

This adaptation contains two tables : one for the users and one for the roles. By default only the administrator is allowed to modify the directory. However, each user can modify his own informations (except its roles).

Note: it is not possible to delete or duplicate the directory.

Password recovery procedure

In the default directory passwords are encrypted (by default with a SHA256 algorithm) and persisted in this state. Consequently if a user loses its password there are no possibilities to retrieve it. Then a new password has to be generated and sent to the user.

There are two options for this procedure:

  1. A notification mail is sent to the administrator, the administrator changes manually the password and sends it to the user.
  2. A procedure generates automatically a new password and sends it to the user.

By default the first option is used. For activating the second option the file mdm.properties must specify the property:

   mdm.password.remind.auto=true.

Administrator recovery procedure

The administrator can also lose its password or login. In this case the procedure above is not a solution. In order to resolve this problem, a specific directory class redefines an administrator user with the login "admin" and the password "admin". For activating this procedure, the file mdm.properties must specify the following line:

   mdm.directory.factory=com.softwareag.mdm.service.directory.DirectoryDefaultRecoverFactory

Once webMethods MDM has been restarted and restopped, the property must be set back to its default.

Specific directory

As an alternative to the default directory, it is possible to integrate with a specific enterprise directory. For example, a LDAP instance, a relational database or a specific directory model instanciated into webMethods MDM.

JavaDoc JavaDoc For activating the specific directory, the property mdm.directory.factory in mdm.properties must specify a factory that is a subclass of com.softwareag.mdm.service.directory.DirectoryFactory. This factory must create the actual implementation, inheriting from the abstract class com.softwareag.mdm.service.directory.Directory.

Annuaire

L'annuaire est utilisé par webMethods MDM afin d'authentifier les utilisateurs et de définir les rôles auxquels ils participent.

webMethods MDM possède un annuaire par défaut intégré au référentiel. Il est aussi possible d'intégrer un annuaire d'entreprise spécifique.

Modèle conceptuel : utilisateurs, rôles et profils

Dans webMethods MDM, chaque utilisateur peut avoir plusieurs rôles et chaque rôle peut être partagé par plusieurs utilisateurs. De plus, optionnellement, un rôle peut être inclus dans un autre rôle. Le terme générique de "profil" permet de désigner soit un utilisateur soit un rôle.

Outre les rôles définis par l'annuaire, webMethods MDM fournit les rôles prédéfinis suivants :

Rôles Définition
Profile.ADMINISTRATOR Rôle administrateur. Il permet de réaliser les tâches d'administration
Profile.PROVIDER Rôle fournisseur. Il permet de créer des adaptations racines
Profile.READ_ONLY Rôle "lecture seule". C'est un rôle qui permet à l'utilisateur de voir le référentiel. Il ne peut pas y faire des mises à jour
Profile.OWNER Rôle propriétaire. C'est un rôle vérifié dynamiquement par rapport à l'instance courante. Il n'est actif que si l'utilisateur fait parti du profil défini comme propriétaire de l'instance courante
Profile.DISTRIBUTOR Rôle distributeur. C'est un rôle vérifié dynamiquement par rapport à l'instance courante. Il n'est actif que si l'utilisateur fait parti du profil défini comme distributeur de l'accord qui gère l'instance courante.
Profile.EVERYONE Tout utilisateur authentifié a ce profil.

 

La plupart des informations relatives aux profils sont définies par l'annuaire. Cependant, l'association entre un utilisateur et les trois derniers rôles (OWNER, DISTRIBUTOR , EVERYONE) ne doit pas être gérée par l'annuaire car elle est affectée automatiquement par webMethods MDM. En outre les permissions sont gérées en dehors de l'annuaire (voir le chapitre Permissions).

Annuaire par défaut

Contenu de l'annuaire

L'annuaire par défaut est représenté par l'adaptation mdm-directory situé dans la branche de référence

L'annuaire par défaut contient deux tables : celle des utilisateurs et celle des rôles. Par défaut, seul l'administrateur est autorisé à modifier l'annuaire. Cependant, chaque utilisateur peut modifier ses informations (mais pas les rôles auxquels il participe).

Remarque : il n'est pas possible de supprimer ou bien de dupliquer l'annuaire par défaut.

Procédure de restauration d'un mot de passe

Dans l'annuaire par défaut, les mots de passe sont encryptés (par défaut en utilisant l'algorithme de cryptage SHA256) et persisté dans cet état. Par conséquent, si un utilisateur perd son mot de passe il n'existe pas de possibilité de restauration de ce dernier. Un nouveau mot de passe doit alors être généré et envoyé à l'utilisateur.

Il y a deux possibilités pour cette procédure :

  1. Un mail est envoyé à l'administrateur et celui-ci est chargé de modifier manuellement le mot de passe perdu et d'envoyer le nouveau mot de passe à l'utilisateur.
  2. Une procédure génère automatiquement un nouveau mot de passe et l'envoie par mail à l'utilisateur.

Par défaut, la première option est utilisée. Pour activer la seconde option, le fichier mdm.properties doit spécifier la propriété:

   mdm.password.remind.auto=true.

Procédure de restauration de l'administrateur

L'administrateur peut aussi perdre son mot de passe ou son identifiant. En ce cas, la procédure qui précède sera inopérante. Afin de résoudre ce problème, un annuaire spécifique redéfinit un administrateur ayant pour identifiant "admin" et pour mot de passe "admin". Pour activer cette procédure, il suffit d'ajouter au fichier mdm.properties la ligne suivante:

   mdm.directory.factory=com.softwareag.mdm.service.directory.DirectoryDefaultRecoverFactory

Une fois que webMethods MDM a été relancé et réarrêté, la ligne doit être remise en commentaire.

Annuaire spécifique

En remplacement de l'annuaire par défaut, il est possible d'intégrer tout annuaire d'entreprise spécifique. Par exemple : un annuaire LDAP, une base de données relationnelle ou un modèle spécifique instancié dans webMethods MDM.

JavaDoc JavaDoc Pour activer un annuaire spécifique, la propriété mdm.directory.factory de mdm.properties doit faire référence à une sous-classe de la classe abstraite com.softwareag.mdm.service.directory.DirectoryFactory. Cette classe crée l'implémentation proprement dite de l'annuaire spécifique, qui doit hériter de la classe abstraite com.softwareag.mdm.service.directory.Directory.

 

Home > Engine & Repository