alchemy/acl-bundle
Symfony bundle providing a simple ACL API. Configure object types, alias your UserRepository, and add Redis cache for access tokens. Exposes endpoints to list, upsert, and delete ACEs by user/group, object type/id, with permission masks and wildcards.
Publication/Asset entities) without over-engineering a custom solution. The metadata feature (1.1.0+) allows attaching contextual data (e.g., expires_at, reason) to permissions, supporting use cases like:
status: draft")./permissions/aces endpoint provides a headless API for permission CRUD, ideal for:
Publication, Asset) to replace ad-hoc if ($user->isAdmin()) checks.who, when, why for every permission change)./permissions/aces API) to visualize and manage permissions.metadata: {status: "review"}).metadata: {expires_at: "2024-12-31"}).metadata: {department: "finance"} for financial data).userType: group, userId: tenant-123).department AND clearance_level). While metadata helps, this bundle is not a full ABAC solution—consider:
Gate/Policy system).For Executives: *"This bundle gives us Swiss Army knife permissions—granular access control plus the ability to attach custom metadata (like audit logs or approval statuses) to every rule. For example:
status: 'published' in the metadata.expires_at: '2024-12-31').For Engineering: *"The 1.1.0 release adds two critical features:
PUT /permissions/ace with metadata={"reason": "editorial_override"}). This enables:
metadata.expires_at for temporary permissions).metadata.department for role segregation)./permissions/aces endpoint).Gate/Policy system or evaluate Casbin."*For Product Managers: *"This solves three key pain points:
if ($user->isAdmin()) checks with a centralized, auditable permission system.reason: "client_request"), which is critical for GDPR/SOC2.How can I help you explore Laravel packages today?