Casbin is an authorization library that provides a model-based engine for enforcing access control across diverse application environments. It decouples authorization logic from application code by using a configuration-driven approach, allowing developers to define access rules and evaluation logic independently. The system supports a wide range of access control models, including role-based, attribute-based, and relationship-based patterns, which are evaluated at runtime to determine if a subject is permitted to perform an action on a resource. The project distinguishes itself through a hig
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
Entrust is a role-based access control library for the Laravel framework and a general permission management system for PHP. It provides a backend tool for linking users to specific roles and permissions to evaluate authorization rules. The system distinguishes itself through a logic engine capable of complex access rule evaluation, including boolean logic and wildcard-based permission matching. This allows for authorization checks based on pattern matching or requirements where a user must meet all or any of a set of specified permissions. The library covers route access restriction via mid
This package provides a comprehensive authorization framework for Laravel applications, enabling the management of user roles and granular permissions through a database-driven system. It allows developers to define access levels and assign them to users, ensuring that security policies are enforced consistently across the entire application. The system distinguishes itself through a hierarchical inheritance model, where permissions automatically propagate from lower-tier roles to higher-tier roles based on a numerical level system. It includes a dedicated administrative web interface that al
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 main features of spatie/laravel-permission are: Role-Based Access Control, Database-Backed RBAC, Authorization Gates, Access Control Guards, Authorization Middleware, Granular Permission Systems, Access Control and Authorization, User Role Management.
Open-source alternatives to spatie/laravel-permission include: casbin/casbin — Casbin is an authorization library that provides a model-based engine for enforcing access control across diverse… django-guardian/django-guardian — django-guardian is a Django object permission library that enables the assignment of fine-grained access rights to… zizaco/entrust — Entrust is a role-based access control library for the Laravel framework and a general permission management system… jeremykenedy/laravel-roles — This package provides a comprehensive authorization framework for Laravel applications, enabling the management of… getgrav/grav — Grav is a flat-file content management system that eliminates the need for a traditional database by storing site… theorchid/platform — Platform is a framework for building back-office applications and administrative dashboards using Laravel. It…