Associer un rôle à un utilisateur¶
Objectif : construire et valider l'association utilisateur ↔ rôle.
Ce que vous allez apprendre : create_auth_user_role(user_id, role_id) construit
et valide une association AuthUserRole que l'application persiste ensuite dans
user_roles.
Premier palier du niveau avancé de la progression RBAC.
Module opt-in
Ce starter suppose forge-mvc-rbac installé. La démo ne persiste pas
l'association (pas de base).
Ce que ce starter montre¶
create_auth_user_role(user_id, role_id)→AuthUserRolevalidé ;- la clé logique
user_id:role_id; - la validation sans persistance (démo).
Classes Forge utilisées¶
| Classe / fonction | Rôle dans ce starter | Référence |
|---|---|---|
forge_mvc_rbac.create_auth_user_role |
Construire et valider une association user/role. | RBAC |
Tester¶
Ouvrez https://localhost:8000/rbac-user-role?user_id=1&role_id=2.
Le contrôleur¶
# mvc/controllers/rbac_user_role_controller.py
from forge_mvc_rbac import create_auth_user_role
class RbacUserRoleController(BaseController):
@staticmethod
def index(request: Request) -> Response:
user_id = int(request.param("user_id") or 1)
role_id = int(request.param("role_id") or 2)
association = create_auth_user_role(user_id, role_id)
# association.user_id, association.role_id — à persister dans user_roles
Comprendre ce code¶
create_auth_user_rolevalide le couple (entiers positifs) et renvoie un objet ; il ne touche pas la base.- La persistance est le job de l'application : on insère le couple dans
user_roles. - Une même personne peut cumuler plusieurs associations (plusieurs rôles).
À retenir¶
- L'association user ↔ rôle est un objet validé, persisté par l'application.
- La table cible est
user_roles. - Le package valide ; il ne décide pas du stockage.
Après ce starter¶
La suite : résoudre les permissions effectives d'un utilisateur.