Comment sécuriser une interface utilisateur

Prérequis

Afin de pouvoir suivre ce guide, il faut préalablement avoir :

Comment procéder ?

Notre application étant ici une instance de hub contenant un/plusieurs Hub Element, il est tout d'abord nécéssaire d'accorder le droit aux utilisateurs du restaurant de consulter ce(s) dernier(s).

Si l'on regarde le contrôle d'accès dans le Development Center pour le namespace AnakeenHub et le name hubElement, on constate qu'il est indiqué : Required Access = HubUser.

AccessControlAnakeenHub

Passons maintenant dans l'onglet Permissions. Cette permission HubUser est liée au compte hub-user-role.

PermissionAnakeenHub

Voilà donc le rôle qu'il faut ajouter aux comptes que nous avons créés (Se référer au guide associé).

Pour cela, rendons-nous dans le fichier src/vendor/<vendorName>/<moduleName>/Account/110-RestauratecGroups.xml pour ajouter ce rôle au groupe englobant le personnel du restaurant :









 






















<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<accounts:accounts xmlns:accounts="https://platform.anakeen.com/4/schemas/account/1.0">
  <accounts:groups>
    <accounts:group name="group_restaurant_member">
      <accounts:displayName>Personnel du restaurant</accounts:displayName>
      <accounts:associatedRoles reset="true">
        <accounts:associatedRole ref="role_restaurant_member"/>
        <accounts:associatedRole ref="hub-user-role"/>
      </accounts:associatedRoles>
    </accounts:group>
    <accounts:group name="group_cuisinier">
      <accounts:displayName>Cuisiniers</accounts:displayName>
      <accounts:associatedRoles reset="true">
        <accounts:associatedRole ref="role_cuisinier" />
      </accounts:associatedRoles>
      <accounts:parentGroups>
          <accounts:parentGroup ref="group_restaurant_member"/>
      </accounts:parentGroups>
    </accounts:group>
    <accounts:group name="group_direction">
      <accounts:displayName>Direction</accounts:displayName>
      <accounts:associatedRoles reset="true">
        <accounts:associatedRole ref="role_direction" />
      </accounts:associatedRoles>
      <accounts:parentGroups>
          <accounts:parentGroup ref="group_restaurant_member"/>
      </accounts:parentGroups>
    </accounts:group>
  </accounts:groups>
</accounts:accounts>

Attention

Pensez à effectuer une réinstallation afin que l'application prenne en compte les modifications effectuées :

npx @anakeen/anakeen-cli deploy -c http://localhost:8080/control -s . -u admin -p anakeen --reinstall

Tous les membres du restaurant ont maintenant accès à l'application.

Et ensuite ?

Comment livrer mon client