has_role |
A un rôle |
|---|---|
| Liquid | |
Syntaxe
|
{% if user | has_role: "nom_du_rôle" %} <!-- Contenu visible uniquement si l'utilisateur a ce rôle --> {% endif %} |
Paramètres
| Nom | Description |
|---|---|
| user | Ce paramètre permet d'indiquer l'objet représentant l'utilisateur actuellement connecté dont on souhaite vérifier les rôles. |
| "nom_du_rôle" | Ce paramètre permet de spécifier le nom exact du rôle à vérifier. Il doit correspondre à un rôle défini dans le système (exemple : "Administrateur", "Client",...). |
Description
Ce filtre permet de vérifier si un utilisateur connecté possède un rôle donné.
Remarques
- Contrôle conditionnel basé sur la sécurité : Le filtre has_role est essentiel pour implémenter des comportements dynamiques basés sur la sécurité. Il permet d'afficher ou de masquer certaines sections de contenu en fonction du rôle d'un utilisateur connecté, renforçant ainsi le contrôle d'accès au sein du portail.
- Permet une personnalisation poussée du contenu : Grâce à ce filtre, on peut adapter le contenu affiché selon le profil de l'utilisateur, par exemple en réservant certaines informations ou fonctionnalités aux administrateurs, partenaires ou clients VIP. Cela améliore l'expérience utilisateur tout en maintenant une structure hiérarchique claire.
- Requiert un utilisateur connecté pour être fonctionnel : Le filtre has_role ne fonctionne que si un utilisateur est connecté, car il repose sur l'objet user. Si aucun utilisateur n'est identifié, la condition retournera toujours false, ce qui permet aussi de protéger les contenus sensibles par défaut.
- Le rôle doit correspondre exactement à son nom dans le système : Le nom du rôle utilisé comme argument du filtre doit être identique à celui défini dans Dynamics 365, y compris en ce qui concerne la casse ou les accents. Une mauvaise orthographe entraînera une condition fausse même si le rôle est bien attribué à l'utilisateur.
- Peut être combiné avec d'autres conditions logiques : Il est possible d'utiliser has_role en combinaison avec d'autres filtres ou conditions if, elsif, ou unless pour créer des logiques d'accès plus complexes, comme vérifier plusieurs rôles ou ajouter des contraintes selon d'autres attributs de l'utilisateur.
- Renforce la séparation des responsabilités dans les portails : En permettant l'affichage de contenus différents selon les rôles, has_role encourage à séparer les interfaces selon les profils utilisateurs (exemple : clients vs employés). Cela contribue à une meilleure ergonomie, tout en respectant les besoins métier de confidentialité ou d'autonomie.
- Utile pour sécuriser à la fois l'interface et l'expérience utilisateur : Même si les vues sécurisées sont aussi gérées côté serveur via Dynamics, l'utilisation de has_role renforce la sécurité perçue en masquant visuellement les éléments non autorisés. L'utilisateur n'est ainsi jamais confronté à des options qui lui sont interdites.
- Particulièrement utile dans les menus, boutons ou scripts : On peut s'en servir pour conditionner des boutons d'action, des liens vers des pages restreintes, ou même des scripts JS personnalisés, rendant ce filtre très polyvalent dans la gestion de l'interface dynamique du portail, tout en restant simple à implémenter.
Dernière mise à jour : Jeudi, le 24 Juillet 2025