L'accès au swagger UI est disponible à cette adresse : /api/doc
La description swagger est disponible à l'adresse : /api/doc.json
Heimdall est un micro service de gestion de stockage d'utilisateurs et de ROLES pour des applications tierces. Il gère pas le blocage de fonctionalité au sein de l'application, mais permet de générer les arbres de ROLES pour pouvoir y appliquer des blocage dans le code.
Le principal usage de Heimdall est le stockage des User
(utilisateur) avec l'ensemble des rôles que l'on peut y appliquer.
Heidmall fonctionne avec la notion de Portal
(portail). Chaque application utilisant Heimdall devra s'identifier comme un portail.
Les portails possèdent des fonctionalités. Ces fonctionalités sont représentées par des codes de Service
permettant de les identifier.
Une fonctionalité peut être représentée par 1 ou plusieurs services.
Exemple : Ma fonctionalité de gestion de factures peut être diviser en 3 Service
=> INVOICE_VIEWER
pour la consultation des factures, INVOICE_OPERATOR
pour les personnes qui pourraient modifier des factures et INVOICE_PUBLISHER
pour la personnes qui peut publier la facture pour les utilisateurs qui aurait le service "VIEWER".
Les ServiceOption
sont des sous élément d'un service permettant de mettre une granularité plus fine. Exemple : pour un service 'DOCUMENT' avoir une sous option 'READ_ONLY' ou 'ADMIN'.
L'ensemble des services peuvent être attachés à des Category
(catégorie), eux même rassemblés en CategoryType
(type de catégorie). Une catégorie permet d'associer un concept liés aux services.
Exemple : si votre portail possède un concept de "compétences", vous pouvez utiliser les Category
comme des compétences et de fait d'associer des services à des compétences.
Les ROLES sont affectées à travers les racines fonctionnelles que sont les Client
et les Contract
(contrat)
Un client represente un entité de gestion avec lequel nous allons contractualiser des contrats. Le client est l'entité la plus haute de la hierachie des ROLES.
Une Organisation
est un regroupement d'utilisateurs. L'organisation peut être considérée comme un groupe d'utilisateur, mais il est orienté vers le contexte d'usage de Heimdall sous la forme d'organisation.
Heimdall permet de gérer des Profile
d'administration. Cela permet de données un ROLE globaux sur certaine entitée du système à des utilisateurs.
L'application utilisant les profils doivent définir ses codes de profiles à appliquer, puis associé le Profile à des utilisateurs et au entités ciblées.
Il existe trois entités pourvant être associées à un Profile
:
Portal
: permet de gérer des roles globaux sur un ou plusieurs portail. Exemple : les "super" administrateurs ou les exploitantsContract
: permet de gérer des rôles globaux sur un ou plusieures contrats. Exemple : un gestionnaire de contratOrganisation
: permet de gérer des rôles globaux sur une ou plusieures organization. Exemple : un gestionnaire d'organisation