# Les comptes
Le terme "compte" regroupe les termes utilisateur, groupe et rôle.
Les comptes sont composés de :
Un objet système
Il permet les manipulations internes de comptes comme l'affectation de rôle, de groupe, etc.
C'est également cet objet qui est utilisé pour tout ce qui concerne le profilage de Smart Element et les accessibilités des actions.
un Smart Element.
Il offre une interface permettant de présenter l'objet interne aux utilisateurs de la plateforme.
# Les rôles
Un Smart Element "rôle" identifie une fonction dans l'organisation. Ce rôle est utilisé pour définir les droits. Un
utilisateur peut avoir plusieurs rôles.
Contrairement aux groupes, les rôles n'ont pas de hiérarchie.
La Smart Structure décrivant les rôles est ROLE
.
# Les rôles par défaut de la platforme
# hub-user-role
- Rôle obtenu par : Hub-station Ce rôle permet d'accéder aux composants de type Hub
# hub-admin-role
- Rôle obtenu par : Hub-station
- Ce rôle donne les droits de view, edit, create, icreate pour les Smart Structures : ADMINPARAMETERSHUBCONFIGURATION, HUBBUSINESSAPP, HUBCONFIGURATION, HUBCONFIGURATIONGENERIC, HUBCONFIGURATIONIDENTITY, HUBCONFIGURATIONLABEL, HUBCONFIGURATIONLOGOUT, HUBCONFIGURATIONSLOT, HUBCONFIGURATIONVUE, HUBINSTANCIATION
- Ce rôle donne les droits de view, edit, delete pour les Smart Elements des Smart Structures : ADMINPARAMETERSHUBCONFIGURATION, HUBBUSINESSAPP, HUBCONFIGURATION, HUBCONFIGURATIONGENERIC, HUBCONFIGURATIONIDENTITY, HUBCONFIGURATIONLABEL, HUBCONFIGURATIONLOGOUT, HUBCONFIGURATIONSLOT, HUBCONFIGURATIONVUE, HUBINSTANCIATION Ce rôle permet d'accéder aux composants de type Hub
# system_administrator
- Rôle obtenu par : Security
- Ce rôle donne les droits de view, edit, create, icreate pour les Smart Structure : BASE, DIR, GROUP, ROLE, SSEARCH, WDOC
- Ce rôle donne les droits de view, edit pour les Smart Elements des Smart Structures : BASE, GROUP
- Ce rôle donne les droits de view, edit, delete pour les Smart Elements des Smart Structures : MAILTEMPLATE, ROLE
- Ce rôle donne les droits de delete pour les Smart Elements de la Smart Structure : MASK
# accounts_manager_role
- Rôle obtenu par : Security
- Ce rôle donne les droits de view, edit, create, icreate pour la Smart Structure : IGROUP, IUSER
- Ce rôle donne les droits de view, edit, delete, open pour les Smart Elements de la Smart Structure : IGROUP
- Ce rôle donne les droits de view, edit, delete pour les Smart Elements de la Smart Structure : IUSER
- Ce rôle donne les droits de view pour les Smart Elements de la Smart Structure : ROLE
# workflow_manager_role
- Rôle obtenu par : Security
- Ce rôle donne les droits de view, edit pour les Smart Elements de la Smart Structure : WDOC
# mail_template_manager_role
- Rôle obtenu par : Security
- Ce rôle donne les droits de view, edit, create, icreate pour la Smart Structure : MAILTEMPLATE
- Ce rôle donne les droits de view, edit, delete pour les Smart Elements de la Smart Structure : MAILTEMPLATE
# supervisor_administrator
- Rôle obtenu par : Anakeen-supervisor
- Ce rôle donne les droits d'accéder au composant d'admin Gestion des jetons d'accès de supervision
# renderui_manager_role
- Rôle obtenu par : Security
- Ce rôle donne les droits de view, edit, create, icreate pour la Smart Structure : CVDOC, MASK
- Ce rôle donne les droits de view, edit pour les Smart Elements de la Smart Structure : CVDOC, MASK
# business_app_user_role
- Rôle obtenu par : business-app
# search_manager_role
- Rôle obtenu par : Security
- Ce rôle donne les droits de view, edit, create, icreate pour les Smart Structures : DSEARCH, MSEARCH, REPORT, SEARCH, SSEARCH
- Ce rôle donne les droits de view, edit, delete, execute pour les Smart Elements des Smart Structures : DSEARCH, MSEARCH, REPORT, SEARCH, SSEARCH
# renderdescription_manager_role
- Rôle obtenu par : Security
- Ce rôle donne les droits de view, edit, create, icreate pour la Smart Structure : RENDERDESCRIPTION
- Ce rôle donne les droits de view, edit, delete pour les Smart Elements de la Smart Structure : RENDERDESCRIPTION
# scheduling_manager_role
- Rôle obtenu par : Security
- Ce rôle donne les droits de view, edit, create, icreate pour les Smart Structures : TASK, TIMER
- Ce rôle donne les droits de view, edit, delete pour les Smart Elements des Smart Structures : TASK, TIMER
# file_manager_role
- Rôle obtenu par : Security
- Ce rôle donne les droits de view, edit, create, icreate pour les Smart Structures : FILE, IMAGE
- Ce rôle donne les droits de view, edit, delete pour les Smart Elements des Smart Structures : FILE, IMAGE
# security_administrator
- Rôle obtenu par : Security
- Ce rôle donne les droits de view, edit, create, icreate pour les Smart Structures : FIELDACCESSLAYER, FIELDACCESSLAYERLIST, PDIR, PDOC, PFAM, PSEARCH
- Ce rôle donne les droits de view, edit pour les Smart Elements de la Smart Structure : FIELDACCESSLAYER, PDIR, PDOC, PFAM, PSEARCH
# sentmessage_reader_role
- Rôle obtenu par : Security
- Ce rôle donne les droits de view, delete pour les Smart Elements de la Smart Structure : SENTMESSAGE
# fullsearch_administrator
- Rôle obtenu par : fulltext-search
- Ce rôle donne les droits d'accéder au composant d'admin Recherche générale
# enum_manager_role
- Rôle obtenu par : AdminCenter
- Ce rôle donne les droits d'accéder au composant d'admin Énumérés
# i18n_manager_role
- Rôle obtenu par : AdminCenter
- Ce rôle donne les droits d'accéder au composant d'admin Traduction
# trash_manager_role
- Rôle obtenu par : AdminCenter
- Ce rôle donne les droits d'accéder au composant d'admin Gestion de la corbeille
# structure_manager_role
- Rôle obtenu par : AdminCenter
- Ce rôle donne les droits d'accéder au composant d'admin Gestion de Smart Structure
# statistics_manager_role
- Rôle obtenu par : AdminCenter
- Ce rôle donne les droits d'accéder au composant d'admin À propos
# functional_administrator
- Rôle obtenu par : AdminCenter
- Ce rôle donne les droits d'accéder aux composants du centre d'administration
# parameters_manager_role
- Rôle obtenu par : AdminCenter
- Ce rôle donne les droits d'accéder au composant d'admin Paramètres
# tokens_manager_role
- Rôle obtenu par : AdminCenter
- Ce rôle donne les droits d'accéder au composant d'admin Jeton d'accès d'authentification
# vaults_manager_role
- Rôle obtenu par : AdminCenter
- Ce rôle donne les droits d'accéder au composant d'admin Gestion du coffre
# te_administrator
- Rôle obtenu par : Transformation
- Ce rôle donne les droits d'accéder au composant d'admin Gestion de transformation de fichier
# offline-user
- Rôle obtenu par : Offline-lib
- Ce rôle donne les droits d'accéder a l'utilisation du module offline par l'utilisateur
# offline_administrator
- Rôle obtenu par : Offline-lib
- Ce rôle donne les droits d'accéder au composant d'admin Offlines
# Déclaration des rôles
Les rôles sont décrits dans un fichier XML qui suit le schéma https://platform.anakeen.com/4/schemas/account/1.0
.
Le rôle contient les informations suivantes :
Balise XML | Description |
---|---|
roles/role/@name | La référence système (obligatoire) |
roles/role/displayName | Le libellé du rôle (s'il est vide, il est égal à la référence) |
roles/role/structure/@name | Le nom logique du Smart Element associé |
roles/role/structure/@ref | La référence à la Smart Structure (ROLE par défaut) |
WARNING
La référence est toujours en minuscule.
Exemple : vendor/My/Accounts/initRoles.xml
<accounts:accounts xmlns:accounts="https://platform.anakeen.com/4/schemas/account/1.0">
<accounts:roles>
<!-- minimalist description -->
<accounts:role name="writer"/>
<accounts:role name="financial">
<accounts:displayName>Manage cash</accounts:displayName>
<accounts:structure name="MY_CASH_ROLE"/>
</accounts:role>
<accounts:role name="player">
<accounts:displayName>Same player, shoot again</accounts:displayName>
<accounts:structure name="MY_PLAYER_ROLE"/>
</accounts:role>
</accounts:roles>
</accounts:accounts>
Pour importer des comptes (rôles, groupes ou utilisateurs), il faut utiliser le script importAccounts
:
./ank.php --script=importAccounts --file=vendor/My/Accounts/initRoles.xml
# Les groupes
Un Smart Element groupe d'utilisateurs
est une collection qui peut contenir un ensemble d'utilisateurs ou de groupe
d'utilisateurs.
Une arborescence de groupes peut ainsi être constituée à l'aide de ces groupes.
Un utilisateur ou un groupe d'utilisateurs peut appartenir à plusieurs groupes.
La seule contrainte est que le graphe des groupes ne doit pas contenir de cycle (Le groupe A ne peut pas appartenir au
groupe B si B appartient déjà au groupe A).
La Smart Structure décrivant les groupes d'utilisateurs est IGROUP
.
Note : Il existe aussi la Smart Structure "groupe" (GROUP
) qui est la Smart Structure mère de "groupe
d'utilisateur". Cette Smart Structure de plus haut niveau permet de regrouper aussi des Smart Elements qui ne sont pas
forcément des utilisateurs. Dans ce chapitre, le terme groupe
désignera les groupes d'utilisateurs.
# Déclaration des groupes
Les groupes sont décrits dans un fichier XML qui suit le schéma https://platform.anakeen.com/4/schemas/account/1.0
.
Le groupe contient les informations suivantes :
Balise XML | Description |
---|---|
groupes/groupe/@name | La référence système (obligatoire) |
groupes/groupe/displayName | Le libellé du groupe (s'il est vide, il est égal à la référence) |
groupes/groupe/associatedRoles/@reset | S'il vaut true , enlève les références des rôles enregistrés |
groupes/groupe/associatedRoles/associatedRole/@ref | Ajout d'une référence à un rôle |
groupes/groupe/parentGroups/@reset | S'il vaut true , enlève les références des groupes parents enregistrés |
groupes/groupe/parentGroups/parentGroup/@ref | Ajout d'une référence à un groupe parent |
groupes/groupe/structure/@name | Le nom logique du Smart Element associé |
groupes/groupe/structure/@ref | La référence à la Smart Structure (IGROUP par défaut) |
WARNING
La référence est toujours en minuscule.
Exemple : vendor/My/Accounts/initGroups.xml
<accounts:accounts xmlns:accounts="https://platform.anakeen.com/4/schemas/account/1.0">
<accounts:groups>
<!-- minimalist description -->
<accounts:group name="laboratories" />
<accounts:group name="lab 51">
<accounts:displayName>Laboratoire 51. Exoplanet research</accounts:displayName>
<accounts:parentGroups>
<accounts:parentGroup ref="laboratories"/>
</accounts:parentGroups>
<accounts:structure name="LAB51_GROUPE"/>
</accounts:group>
<accounts:group name="lab 32">
<accounts:displayName>Laboratoire 32. Beautiful Duck research</accounts:displayName>
<accounts:associatedRoles>
<accounts:associatedRole ref="player"/>
<accounts:associatedRole ref="writer"/>
</accounts:associatedRoles>
<accounts:parentGroups>
<accounts:parentGroup ref="lab 51"/>
</accounts:parentGroups>
</accounts:group>
</accounts:groups>
</accounts:accounts>
Importation via le script importAccounts
:
./ank.php --script=importAccounts --file=vendor/My/Accounts/initGroups.xml
# Les utilisateurs
Un Smart Element utilisateur
regroupe les informations permettant à une personne de se connecter sur l'application.
Par extension, un utilisateur
est une personne qui peut se connecter à l'application. La Smart Structure décrivant les
utilisateurs est IUSER
.
# Déclaration des utilisateurs
Les utilisateurs sont décrits dans un fichier XML qui suit le schéma
https://platform.anakeen.com/4/schemas/account/1.0
.
L'utilisateur contient les informations suivantes :
Balise XML | Description |
---|---|
users/user/@login | Le login de connexion (obligatoire) |
users/user/firstname | Le prénom de l'utilisateur (s'il est vide, il est égal à la référence) |
users/user/lastname | Le nom de l'utilisateur (s'il est vide ainsi que le prénom, il est égal à la référence) |
users/user/mail | Le courriel de l'utilisateur |
users/user/password | Le mot de passe de l'utilisateur - s'il n'est pas défini, l'utilisateur devra suivre la procédure de réinitialisation du mot de passe |
users/user/password/@crypted | Si false , mot de passe en clair à utiliser (seul le crytage est stocké), si true mot de passe crypté/ |
users/user/status/@activated | Si true (par défaut), l'utilisateur peut se connecter, si false , il ne peut pas se connecter |
users/user/associatedRoles/@reset | S'il vaut true , enlève les références des rôles enregistrés |
users/user/associatedRoles/associatedRole/@ref | Ajout d'une référence à un rôle |
users/user/parentGroups/@reset | S'il vaut true , enlève les références des groupes parents enregistrés |
users/user/parentGroups/parentGroup/@ref | Ajout d'une référence à un groupe parent |
users/user/structure/@name | Le nom logique du Smart Element associé |
users/user/structure/@ref | La référence à la Smart Structure (IUSER par défaut) |
WARNING
Le login est toujours en minuscule.
Exemple : vendor/My/Accounts/initUsers.xml
<accounts:accounts xmlns:accounts="https://platform.anakeen.com/4/schemas/account/1.0">
<accounts:users>
<!-- minimalist description -->
<accounts:user login="yoda"/>
<accounts:user login="chewie">
<accounts:lastname>Chewbacca</accounts:lastname>
<accounts:mail>chewie@starwars.com</accounts:mail>
</accounts:user>
<accounts:user login="luke">
<accounts:firstname>Luke</accounts:firstname>
<accounts:lastname>Skywalker</accounts:lastname>
<accounts:mail>luke@starwars.com</accounts:mail>
<accounts:password crypted="false">May the force be with you</accounts:password>
<accounts:status activated="true"/>
<accounts:associatedRoles reset="true">
<accounts:associatedRole ref="big force"/>
</accounts:associatedRoles>
<accounts:parentGroups reset="true">
<accounts:parentGroup ref="lab 51"/>
</accounts:parentGroups>
<accounts:structure name="AGENT_L" />
</accounts:user>
<accounts:user login="leia">
<accounts:firstname>Leia</accounts:firstname>
<accounts:lastname>Skywalker</accounts:lastname>
<accounts:mail>leia@starwars.com</accounts:mail>
<accounts:password crypted="false">May the force be with you</accounts:password>
<accounts:status activated="true"/>
<accounts:associatedRoles>
<accounts:associatedRole ref="big force"/>
</accounts:associatedRoles>
<accounts:parentGroups>
<accounts:parentGroup ref="lab 51"/>
</accounts:parentGroups>
</accounts:user>
<accounts:user login="solo">
<accounts:firstname>Han</accounts:firstname>
<accounts:lastname>Solo</accounts:lastname>
<accounts:mail>solo@starwars.com</accounts:mail>
<!-- Falcon Millenium : is the crypted password CRYPT_SHA256 -->
<accounts:password crypted="true">$5$u9ap7nzr0tIClII4$EuUVVB0YOMFuWN1y2DH.Yc7flwgSCEVezzhGwgKUAW/</accounts:password>
<accounts:status activated="false"/>
<accounts:substitute ref="leia"/>
<accounts:associatedRoles>
<accounts:associatedRole ref="fat force"/>
</accounts:associatedRoles>
<accounts:parentGroups>
<accounts:parentGroup ref="lab 51"/>
<accounts:parentGroup ref="lab 32"/>
</accounts:parentGroups>
<accounts:structure name="AGENT_H" />
</accounts:user>
</accounts:users>
</accounts:accounts>
Importation via le script importAccounts
:
./ank.php --script=importAccounts --file=vendor/My/Accounts/initUsers.xml