Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

forge-mvc-rbac

Module RBAC officiel pour Forge : rôles, permissions, décorateurs et helpers Jinja.

Installation

pip install forge-mvc-rbac

Usage

Modèles

from forge_mvc_rbac import Role, Permission, normalize_role_slug, normalize_permission_code

slug = normalize_role_slug("Super Admin")  # "super-admin"
code = normalize_permission_code("Posts Edit")  # "posts.edit"

role = Role(id=None, name="Super Admin", slug=slug)
perm = Permission(id=None, code=code)

Décorateurs serveur (session legacy)

from forge_mvc_rbac import require_permission

@staticmethod
@require_permission("posts.edit")
def edit(request): ...

Décorateurs serveur (Auth/User)

from forge_mvc_rbac import require_user_permission

@staticmethod
@require_user_permission("posts.edit")
def edit(request): ...

Helper Jinja

from forge_mvc_rbac import make_auth_jinja_context

# Dans BaseController.render(), injecté automatiquement
ctx.update(make_auth_jinja_context(request))

Template :

{% if can("posts.edit") %}<a href="...">Modifier</a>{% endif %}
{% if is_authenticated %}Bonjour {{ current_user.id }}{% endif %}

SQL

  • La table pivot user_roles (liaison users ↔ roles) est générée dans votre projet par la commande du core forge auth:init, puis appliquée avec forge db:apply. Elle est rendue pour le backend installé.
  • Les tables roles, permissions, role_permissions sont générées par forge rbac:init, puis appliquées avec forge migration:apply. Elles sont rendues pour le backend installé, comme le reste du provisioning Forge.

Le fichier sql/rbac.sql du dépôt source n'est plus qu'une référence historique : il n'est pas livré dans le wheel et n'est lu par aucun code. La source de vérité est la déclaration forge_mvc_rbac.tables.

Limites

  • Pas de hiérarchie de rôles
  • Pas de multi-tenant
  • Toutes les permissions sont définies en base

Release files for forge-mvc-rbac 1.0.0rc5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for forge-mvc-rbac 1.0.0rc5
File Size Uploaded
forge_mvc_rbac-1.0.0rc5.tar.gz 23.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for forge-mvc-rbac 1.0.0rc5
File Interpreter ABI Platform
forge_mvc_rbac-1.0.0rc5-py3-none-any.whl Python 3 none any Details

Total release size: 53.0 kB

Release files / forge_mvc_rbac-1.0.0rc5.tar.gz

Download URL forge_mvc_rbac-1.0.0rc5.tar.gz
Size 23.4 kB
Tags Source
SHA-256 checksum
How to use checksums
306d73b77e16deaa9f59ae4dedf2da3e2b13806e2c02e2bdd1c32577e15d0d16
BLAKE2b-256 checksum
How to use checksums
aeb7a3acc2bfad966c7f9b2a095b34dc1921a6672a9f9427e7529bb013c39433
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / forge_mvc_rbac-1.0.0rc5-py3-none-any.whl

Download URL forge_mvc_rbac-1.0.0rc5-py3-none-any.whl
Size 29.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
576813cd72e1615a33f10c4954aeb6b4ddd905b7142ca1d6de57f2e2ef01eb2b
BLAKE2b-256 checksum
How to use checksums
e645fb4c103742168e6ab9b6ef3a2175643d1fd3535144d7098d0b8a9ec41393
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page