Utilisateurs (Mode commmande)

De SOS Paris
Aller à : navigation, rechercher


Configuration

La configuration du portail se limite à indiquer la liste des modules publiés dans le paramètre arii_modules du fichier de configuration. Pour chaque module il faut préciser le rôle nécessaire pour y accéder.

/home/arii/Symfony/app/config/parameters.yml
Paramètre Valeur par défaut
modules : JID(ROLE_USER),GVZ(ROLE_USER),DS(ROLE_OPERATOR),JOC(ROLE_OPERATOR)

Les codes des modules sont les suivants :

Code Nom Description
JID Suivi Suivi de l'historique des traitements
JOC Opérations Centre des opérations synchronisé avec les moteurs
DS Plan Plan prévisionnel et vérification des exécutions
GVZ Cartographie Visualisation graphique des fichiers XML
MFT Transferts Suivi des transferts de fichiers

Gestion des utilisateurs

La gestion des utilisateurs utilise les mécanismes Symfony et son mode console, cela est suffisant pour ajouter rapidement quelques utilisateurs.
Pour la gestion d'un plus grand nombre de comptes, il est préférable d'utiliser le module d'administration.

Toutes les commandes sont exécutées avec le compte « arii ».
Pour utiliser la console, il faut se déplacer dans le répertoire de Symfony puis préfixer les commandes par php app/console

$ cd /home/arii/Symfony/

Pour avoir une liste des commandes disponibles, on peut indiquer un début de commande.
Si celle-ci est inconnue, la console affiche les arguments similaires :

$ php app/console arii:user
[InvalidArgumentException]
Command "arii:user" is not defined.
Did you mean one of these?
arii:user:create
fos:user:promote
fos:user:activate
fos:user:change-password
fos:user:demote
fos:user:create
fos:user:deactivate

Ajouter un utilisateur

La commande « arii:user:create » permet d'ajouter un utilisateur en mode interactif ou en mode batch.

Pour le mode interactif, on indique la commande et on répond aux questions :

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

Le mode batch permet de passer l'ensemble des arguments pour créer l'utilisateur en une seule ligne de commande.

$ php app/console arii:user:create username mail@sos-paris.com
password prenom nom entreprise
Created user username

Habilitation

Le rôle de l'utilisateur permet de modifier l'interface en fonction du profil.
Il est utilisé pour définir les modules accessibles depuis l'interface web.
Il ne permet pas de gérer les droits au niveau des objets d'ordonnancement ( ce point est en cours de développement dans le module d'administration ).

Les rôles disponibles sont les suivants :

Rôle Description
ROLE_USER Le lecteur ne dispose d'aucun droit de création ou de modification.
Il s'agit généralement d'un membre extérieur à l'équipe d'exploitation à qui on fournit une simple vue des traitements.
ROLE_OPERATOR L'opérateur dispose des droits d'exécution pour le lancement ou la reprise des traitements.
ROLE_BUILDER Le rôle du développeur est de concevoir les traitements et les scenarii d'exécution.
ROLE_ADMIN L'administrateur dispose de l'ensemble des droits fonctionnels sur l'exploitation.
Il peut intervenir à tout niveau sur l'ordonnancement mais ne peut modifier l'infrastructure.

Les rôles peuvent être hiérarchisés, par exemple un ADMIN peut bénéficier automatiquement des droits d'un opérateur qui est lui-même utilisateur.

Les rôles et les hiérarchies peuvent être définis selon les besoins.
Pour cela éditer le fichier

/home/arii/Symfony/app/config/security.yml
role_hierarchy:
     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]

Promouvoir un utilisateur

Un utilisateur peut avoir plusieurs rôles, dans ce cas il faudrait le promouvoir avec autant de commandes, mais il est inutile de spécifier les rôles d'une même hiérarchie.

La commande fos:user:promote ajoute un rôle à un utilisateur :

$ php app/console fos:user:promote eric ROLE_ADMIN
Role "ROLE_ADMIN" has been added to user "eric".

Inversement, la commande fos:user :demote permet de le rétrograder :

$ php app/console fos:user:demote eric ROLE_ADMIN
Role "ROLE_ADMIN" has been removed from user "eric".

Changer un mot de passe

Si un utilisateur souhaite changer son mot de passe, il doit utiliser le formulaire adéquat dans son espace de travail, pour plus d'informations il faut se reporter à la section Draft_Portail#Mot_de_passe.

La commande fos:user:change-password permet à l'administrateur de modifier le mot de passe d'un utilisateur :

$ php app/console fos:user:change-password eric new_password
Changed password for user eric