Les helpers Jinja dans Forge RBAC¶
Ce document décrit l'utilisateur public et le helper can() exposés aux gabarits.
Le fichier de code correspondant est forge_mvc_rbac/jinja.py.
1. À quoi sert ce module ?¶
Les gabarits ont besoin de deux choses : savoir qui est connecté, et ce qu'il peut faire.
Ce module expose un utilisateur public sans secret (ni hash de mot de passe) et un helper can(permission) pour l'affichage conditionnel.
2. L'utilisateur public (AuthJinjaUser)¶
C'est une représentation minimale : jamais de mot de passe ni de secret côté gabarit.
3. L'API¶
| Fonction | Comportement |
|---|---|
get_jinja_current_user(request, *, user_loader=None) |
l'utilisateur public courant, ou None |
sanitize_jinja_user(user) |
réduit un utilisateur à sa représentation publique |
make_auth_jinja_can(request, ...) |
construit le helper can(permission) exposé aux gabarits |
make_auth_jinja_context(request, ...) |
le contexte Auth/User standard pour Jinja |
make_auth_jinja_context_with_can(request) |
variante sans argument pour le registre du noyau |
4. Usage dans un gabarit¶
{% if current_user %}
Bonjour {{ current_user.email }}
{% if can("article.publish") %}
<a href="/article/publish">Publier</a>
{% endif %}
{% endif %}
5. Contextes d'utilisation¶
- Injection :
make_auth_jinja_context(request)au rendu d'une vue. - Affichage conditionnel :
can("...")dans le gabarit.
6. Voir aussi¶
- Le cœur RBAC :
make_cansous-jacent àcan(). - L'autorisation Auth/User.
- Vue d'ensemble RBAC : la section sur la chaîne de confiance.