Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Acl Bundle Laravel Package

ahmed-ghiloubi/acl-bundle

View on GitHub
Deep Wiki
Context7

At a glance

Frequently asked questions about Acl Bundle
Can I use this Symfony ACL bundle directly in Laravel without compatibility issues?
No, this bundle is Symfony-specific and won’t work natively in Laravel. You’d need to manually bridge Symfony’s `security` and `dependency-injection` components, which adds significant complexity. Laravel’s built-in `Gate` or `Policy` system is a simpler alternative for most use cases.
What Laravel alternatives exist for fine-grained ACLs (e.g., object-level permissions like 'User X owns Post Y')?
For Laravel, consider `spatie/laravel-permission` (role-based) or build a custom solution using Eloquent events/observers to sync permissions with your models. If you need Symfony’s ACL granularity, evaluate `symfony/security-acl` directly (without the bundle) with a custom Laravel wrapper.
How do I install this bundle in a Laravel project?
You can’t install it directly via Composer—it’s designed for Symfony. Instead, require `symfony/security-acl` and manually integrate its components. For Laravel, you’d need to adapt Symfony’s `SecurityTokenStorage`, `UserSecurityIdentity`, and `AclProvider` to work with Laravel’s `AuthManager` and Eloquent.
Does this bundle support Laravel’s Eloquent ORM, or only Doctrine?
This bundle assumes Doctrine ORM for ACL storage (tables like `security_acl_class`). For Laravel, you’d need to either: 1) Use Doctrine DBAL alongside Eloquent, or 2) Create custom migrations to replicate the ACL schema. Automatic cleanup (e.g., purging ACLs on object deletion) would require Eloquent event listeners.
What Laravel versions does this bundle support?
This bundle is **not** Laravel-compatible—it’s for Symfony 4.x. However, you could theoretically use its underlying Symfony `security-acl` component in Laravel with a custom bridge. Test thoroughly, as Laravel’s auth system (`illuminate/auth`) differs from Symfony’s `UserInterface`.
How does performance compare to Laravel’s Gate/Policy system?
This bundle adds database queries for ACL checks (e.g., querying `security_acl_class` tables), which may slow down high-traffic apps. Laravel’s `Gate` system is lighter (in-memory checks) but lacks object-level granularity. Cache ACLs in Redis or use `Gate` for stateless checks to mitigate overhead.
Is there a way to use this bundle’s fluent API in Laravel without full Symfony integration?
Yes, you could extract the bundle’s fluent API design (e.g., `grant($object, Mask::VIEW, $user)`) and replicate it in Laravel using a custom service. Avoid direct Symfony dependencies by mocking `SecurityTokenStorage` and `UserSecurityIdentity` to work with Laravel’s `Auth` facade.
What’s the maintenance status of this bundle?
The bundle is **unmaintained** (no recent commits, 1 GitHub star). Risks include Symfony 5+ incompatibilities or unresolved bugs. For production use, consider forking it or building a Laravel-native ACL solution. Alternatives like `spatie/laravel-permission` are actively maintained.
Can I migrate existing Laravel ACL logic (e.g., Gates) to this bundle?
No, the migration path is complex. This bundle enforces Symfony’s ACL model (e.g., `ObjectIdentity`, `MaskBuilder`), which doesn’t align with Laravel’s `Gate` or `Policy` patterns. Audit your current permissions logic first—if you only need role-based access, stick with Laravel’s native tools.
Are there production-ready Laravel packages that offer similar ACL functionality?
Yes. For role-based access, use `spatie/laravel-permission`. For object-level permissions, consider `nWidart/acl` (though it’s also Symfony-based) or build a custom solution with Eloquent relationships and `Gate` policies. Avoid this bundle unless you’re already using Symfony components in Laravel.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
daikazu/eloquent-salesforce-objects
unseen-codes/chat
romalytar/yammi-jobs-monitoring-laravel
kisame76/filament-db-table-state
nqxcode/laravel-lucene-search
dpfx/laravel-livewire-wizards
workos/workos-php-laravel
sofa/laravel-global-scope
nawasara/auth-primitives
adhocrat-io/arkhe-main
make-dev/orca-harpoon
itsemon245/lamet
baks-dev/dashboard
amoifr/pickle-panther-bundle
make-dev/orca
dmstr/symfony-system-resources-bundle
dmstr/symfony-job-queue-bundle
dmstr/openapi-json-schema-bundle
dmstr/keycloak-security-bundle
dmstr/doctrine-audit-log-bundle