4. La gestion des accès¶
Sommaire
4.1. Introduction¶
Le framework fournit un gestionnaire d’accès configurable dans les menus :
- administration -> profil
- administration -> droit
- administration -> utilisateur
Les accès sont conservés dans les tables du même nom.
4.2. Fonctionnalités¶
- Synchronisation des utilisateurs provenant d’un annuaire
- Modification du mot de passe par l’utilisateur
- Mot de passe oublié et réinitialisation du mot de passe
4.3. Les tables¶
La gestion des accès est gérée avec 3 tables :
om_profil : gestion par défaut de 5 profils :
- administrateur (5)
- super utilisateur (4)
- utilisateur (3)
- utilisateur limité (2)
- consultation (1)
Les profils sont hiérarchiques, le profil 5 étant le plus élevé, il a accès à toutes les actions des profils inférieurs.
om_droit : à chaque profil est affecté un ou plusieurs droits.
om_utilisateur : cette table permet de donner un login, un mot de passe et un profil à chaque utilisateur.
Diagramme de classe
4.4. Les règles¶
Le droit sur un objet porte le nom de l’objet, pour chaque objet il existe deux types de droits :
- généraux : il n’est composé que du nom de l’objet et permet d’accéder à toutes les actions sur celui-ci.
- spécifique : il se compose du nom de l’objet puis d’un suffixe.
Détails des suffixes de droits :
- _tab : permet d’accéder au tableau
- _ajouter : permet d’ajouter un objet
- _modifier : permet de modifier l’objet
- _supprimer : permet de supprimer l’objet
- _consulter : permet de consulter l’objet
4.5. La multi-collectivité¶
Les collectivités peuvent être de niveau 1 ou de niveau 2. Les utilisateurs de chaque collectivité héritent de ce niveau. Les utilisateurs de niveau 1 n’ont accès qu’à leur collectivité tandis que les utilisateurs de niveau 2 ont accès à toutes les collectivités disponibles. Lors de la conception de la base de données un champ om_collectivite peut être ajouté à chaque table ayant besoin d’un filtrage par collectivité. Les utilisateurs de niveau 1 ne verront aucune notion de collectivité et n’auront accès qu’aux éléments liés à leur propre collectivité.
4.6. L’écran de connexion¶
URL : "".OM_ROUTE_LOGIN.""
ou "../app/index.php?module=login"
flag : login
application::view_login()
C’est la méthode application::login()
qui valorise les variables de session
permettant la gestion des accès.
<?php $_SESSION["profil"] = ""; $_SESSION["login"] = ""; $_SESSION["collectivite"] = ""; $_SESSION["niveau"] = ""; $_SESSION["justlogin"] = true; ?>
4.7. L’écran de déconnexion¶
URL : "".OM_ROUTE_LOGOUT.""
ou "../app/index.php?module=logout"
flag : logout
application::view_login()
C’est la méthode application::logout()
qui vide les variables de session
permettant la gestion des accès.
4.8. L’écran de changement du mot de passe¶
URL : "".OM_ROUTE_PASSWORD.""
ou "../app/index.php?module=password"
application::view_password()