Créer un compte en lecture seule

De SOS Paris
Aller à : navigation, rechercher

Un compte en lecture seule s'appuie sur les rôles de Symfony2, ces rôles peuvent être hiérarchisés et sont principalement utilisés sur Arii pour créer les écrans.

Par défaut, un utilisateur est créé avec le compte utilisateur par défaut puis peut être promu avec des rôles supérieurs. Chaque utilisateur peut connaître son rôle en cliquant sur Mon compte dans le menu en haut à gauche. Ce menu est accessible quel que soit le module.

On peut ajouter des rôles à un utilisateur ou utiliser le système hiérarchique défini dans le fichier security.yml:

    role_hierarchy:
        ROLE_ADMIN:       [ROLE_SYSADMIN,ROLE_OPERATOR,ROLE_DEVELOPPER]
        ROLE_MANAGER:     [ROLE_USER,ROLE_OPERATOR,ROLE_DEVELOPPER]
        ROLE_OPERATOR:    [ROLE_USER]
        ROLE_DEVELOPPER:  [ROLE_USER]       
        ROLE_SYSADMIN:    [ROLE_ALLOWED_TO_SWITCH,ROLE_DEVELOPPER]

Dans ce cas, un MANAGER cumule les droits d'OPERATOR et de DEVELOPPER.

Créons un nouveau compte:

php app/console arii:user:create
Please choose a username:reader
Please choose an email:reader@sos-paris.com
Please choose a password:
Please choose a firstname:reader
Please choose a lastname:reader
Please choose an enterprise:sos-paris
Created user reader

Ajoutons lui le rôle d'OPERATOR:

php app/console fos:user:promote reader ROLE_OPERATOR
Role "ROLE_OPERATOR" has been added to user "reader".

ou retirons lui ces mêmes droits:

php app/console fos:user:demote reader ROLE_OPERATOR
Role "ROLE_USER" has been removed from user "reader".

On peut aussi lui ajouter un rôle READER, ce qui n'aura aucune conséquence puisqu'il n'y aura pas plus de privilèges qu'un compte USER.

php app/console fos:user:promote reader ROLE_READER
Role "ROLE_READER" has been added to user "reader".