awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
django-guardian avatar

django-guardian/django-guardian

0
View on GitHub↗
3,903 stars·590 forks·Python·8 viewsdjango-guardian.readthedocs.io↗

Django Guardian

django-guardian is a Django object permission library that enables the assignment of fine-grained access rights to individual database records. This system provides object-level access control, allowing users or groups to be granted permissions for specific model instances rather than applying a single global rule to an entire data model.

The library includes a permission manager for the Django administrative interface, which provides a visual dashboard to assign and audit these instance-specific security rules. It also features an anonymous access controller to define and verify permissions for unauthenticated visitors.

The framework implements role-based access control and supports granular user permissions across various content instances.

Features

  • Scoped Permission Assignments - Grants specific users or groups access to individual database records instead of applying global model permissions.
  • Database-Backed RBAC - Persists granular object permission mappings in relational database tables for dynamic access control.
  • Many-to-Many Associations - Utilizes junction tables to associate multiple users and groups with specific object permissions for efficient lookup.
  • Generic Foreign Key Mappings - Uses generic relationships to link a single permission table to any model instance regardless of type.
  • Granular Permission Systems - Implements a system for assigning specific access rights to individual users or groups for single content items.
  • Fine-Grained Permission Checking - Provides a high-performance system for evaluating whether a user is authorized to access a specific database record.
  • Role-Based Access Control - Implements a security framework for managing user and group permissions through roles associated with content instances.
  • Object-Level Authorizations - Manages permissions for individual database records rather than applying identical rules to every instance of a model.
  • Permission Caching - Provides an in-memory cache for evaluated object permissions to minimize database queries during access checks.
  • Anonymous Access Controllers - Provides a mechanism for granting and verifying specific object permissions for unauthenticated users.
  • Anonymous User Permissions - Implements a virtual user system to apply fine-grained object permissions to unauthenticated guests.
  • Public Access Policies - Defines policies that allow unauthenticated anonymous visitors to access specific objects.
  • Permission Management Dashboards - Provides a visual dashboard in the admin interface to manage per-object permission settings.
  • Permission-Based Access Control - Allows administrators to control instance-specific access rights through a visual interface.
  • Anonymous Permission Management - Assigns and verifies access rights for unauthenticated visitors to specific objects.
  • Model-Agnostic Permissions - Decouples authorization logic from model definitions by storing permissions in external tables.
  • Django User Administration - Integrates with the Django administrative interface to visually assign and audit object-level access rights.
  • Admin Permission Managers - Integrates a manager into the administrative dashboard to visually assign object-level security rules.
  • Access Control - Object-level permission management for Django.
  • Authentication - Listed in the “Authentication” section of the Awesome Python awesome list.
  • Authentication and Permissions - Implementation of per-object permissions for Django.
  • Authorization - Per-object permission backend for Django.
  • Permissions - Per-object permission support for models.

Star history

Star history chart for django-guardian/django-guardianStar history chart for django-guardian/django-guardian

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Django Guardian

Similar open-source projects, ranked by how many features they share with Django Guardian.
  • dfunckt/django-rulesdfunckt avatar

    dfunckt/django-rules

    1,976View on GitHub↗

    Awesome Django authorization, without the database

    Pythonauthorizationdjangopermissions
    View on GitHub↗1,976
  • spatie/laravel-permissionspatie avatar

    spatie/laravel-permission

    12,911View on GitHub↗

    This is a role-based access control system for Laravel applications that manages user permissions and roles within a database. It provides a database permissions manager to assign specific abilities to users and roles, utilizing authorization gates to restrict access to routes and interface elements. The project features a wildcard permission system that uses pattern matching to grant broad access across multiple related permissions. It also supports team-scoped access control, allowing users to maintain different roles and permission levels across separate organizational contexts or teams.

    PHP
    View on GitHub↗12,911
  • openfga/openfgaopenfga avatar

    openfga/openfga

    4,793View on GitHub↗

    OpenFGA is a fine-grained authorization server and policy decision point that implements relationship-based access control. It serves as a centralized authorization service for evaluating access requests and managing relationship tuples across distributed microservices and multi-tenant environments. The engine combines relationship graphs with attribute-based access control, using the Common Expression Language to evaluate dynamic runtime attributes and conditional access rules. It handles complex hierarchies and nested permissions by traversing chains of associations and parent-child links t

    Goabacauthorizationentitlements
    View on GitHub↗4,793
  • area17/twillarea17 avatar

    area17/twill

    3,956View on GitHub↗

    Twill is a Laravel CMS toolkit and admin panel generator designed for building custom administrative consoles and content management systems. It serves as a headless CMS framework and a toolkit for defining content models and managing structured data through a dedicated administrative interface. The project features a visual block editor that allows publishers to arrange and configure reusable content sections via a drag-and-drop interface. It includes a dedicated digital asset manager for storing, cropping, and optimizing images and files across local or cloud storage, as well as a multiling

    PHP
    View on GitHub↗3,956
See all 30 alternatives to Django Guardian→

Frequently asked questions

What does django-guardian/django-guardian do?

django-guardian is a Django object permission library that enables the assignment of fine-grained access rights to individual database records. This system provides object-level access control, allowing users or groups to be granted permissions for specific model instances rather than applying a single global rule to an entire data model.

What are the main features of django-guardian/django-guardian?

The main features of django-guardian/django-guardian are: Scoped Permission Assignments, Database-Backed RBAC, Many-to-Many Associations, Generic Foreign Key Mappings, Granular Permission Systems, Fine-Grained Permission Checking, Role-Based Access Control, Object-Level Authorizations.

What are some open-source alternatives to django-guardian/django-guardian?

Open-source alternatives to django-guardian/django-guardian include: dfunckt/django-rules — Awesome Django authorization, without the database. spatie/laravel-permission — This is a role-based access control system for Laravel applications that manages user permissions and roles within a… openfga/openfga — OpenFGA is a fine-grained authorization server and policy decision point that implements relationship-based access… area17/twill — Twill is a Laravel CMS toolkit and admin panel generator designed for building custom administrative consoles and… cerbos/cerbos — Cerbos is an open-source authorization service that provides a centralized, language-agnostic engine for managing… elunez/eladmin — Eladmin is a backend management system and administrative framework built with Spring Boot and Vue. It provides a…