Home > Engine & Repository
Directory
EBX.Platform uses a directory for users authentication and users roles definition.
EBX.Platform then provides a default directory that is integrated to the repository. It is also possible to integrate a specific enterprise directory.
Conceptual Model: Users, Roles and Profiles
In EBX.Platform, 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, EBX.Platform 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 EBX.Platform repository. He can only visualize the repository. |
| Profile.OWNER | Dynamic built-in owner role. This role is checked dynamically for the current instance. It is activated only if the user belongs to the profile defined as owner of this current instance. |
| Profile.DISTRIBUTOR | Dynamic built-in distributor role. This role is checked dynamically for the current instance. It is activated only if the user belongs to the profile defined as distributor of the agreement that manages this current instance. |
| Profile.EVERYONE | All users have this role. |
Information related to profiles is mainly defined in the directory. However, an association between a user and one of the last three roles (OWNER, DISTRIBUTOR , EVERYONE) must not be managed by the directory, since EBX.Platform is assigned to perform this task automatically. Furthermore, permissions are managed independently of the directory (see chapter Permissions).
Default directory
Directory's content
The default directory is represented by the adaptation named ebx-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 information except his 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 his 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:
- A notification mail is sent to the administrator, the administrator changes manually the password and sends it to the user.
- 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 ebx.properties must specify the property:
ebx.password.remind.auto=true.
Administrator recovery procedure
The administrator can also lose his password or login. In this case, the procedure above does not work. 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 ebx.properties must specify the following line:
ebx.directory.factory=com.orchestranetworks.service.directory.DirectoryDefaultRecoverFactory
Once EBX.Platform has been restarted and restopped, this line must be set back to its default.
Specific directory
As an alternative to the default directory, it is possible to integrate a specific enterprise directory. For example, a LDAP instance, a relational database or a specific directory model instanciated into EBX.Platform.
For more information, see DirectoryFactory Javadoc.
Annuaire
L'annuaire est utilisé par EBX.Platform afin d'authentifier les utilisateurs et de définir les rôles auxquels ils participent.
EBX.Platform 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 EBX.Platform, 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, EBX.Platform 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 dans l'annuaire. Cependant, l'association entre un utilisateur et l'un des trois derniers rôles (OWNER, DISTRIBUTOR , EVERYONE) ne doit pas être gérée par l'annuaire car cette tâche est effectuée automatiquement par EBX.Platform. En outre, les permissions sont également 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 ebx-directory située 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 les informations le concernant 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és 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 :
- 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.
- 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 ebx.properties doit spécifier la propriété :
ebx.password.remind.auto=true.
Procédure de restauration de l'administrateur
L'administrateur peut aussi perdre son mot de passe ou son identifiant. Dans 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 ebx.properties la ligne suivante :
ebx.directory.factory=com.orchestranetworks.service.directory.DirectoryDefaultRecoverFactory
Une fois que EBX.Platform 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 EBX.Platform.
Pour plus d'informations, voir la Javadoc de DirectoryFactory.
Home > Engine & Repository