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 Doctrine Filter Bundle Laravel Package

a5sys/acl-doctrine-filter-bundle

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Role-Based Data Access Control (RBAC) Implementation: Enables granular filtering of Doctrine entities based on user roles, reducing manual query logic for ACL checks.
  • Security Hardening: Simplifies enforcement of row-level security (RLS) by automating ACL filtering in queries, reducing SQL injection risks from ad-hoc filtering.
  • Legacy System Modernization: Justifies migrating from deprecated ACL solutions (e.g., custom Symfony security voters) to a bundled, maintainable approach.
  • Build vs. Buy: Avoids reinventing ACL filtering logic for Doctrine entities, saving dev time while leveraging a lightweight MIT-licensed solution.
  • Compliance & Auditability: Supports regulatory requirements (e.g., GDPR, HIPAA) by restricting data visibility to authorized users via automated filtering.
  • Multi-Tenant Architecture: Useful for SaaS products where tenants must only access their own data (e.g., Project entities scoped to UserProject relationships).

When to Consider This Package

  • Avoid if:
    • You’re using Doctrine 2.8+: The package is deprecated in favor of Doctrine’s built-in filters. Prioritize native solutions unless this bundle offers unique features (e.g., annotation-based SQL).
    • Your ACL logic is complex or dynamic: This bundle uses static SQL in annotations, which may not handle runtime conditions (e.g., group-based access, nested permissions).
    • You need active maintenance: Last release was 2022-02-08 with 0 stars/dependents; evaluate risk of unpatched vulnerabilities or breaking changes.
    • Your team prefers declarative over imperative: Doctrine’s native filters use runtime registration (e.g., filterManager->enable('acl')), while this bundle relies on annotations.
  • Consider if:
    • You’re locked into Doctrine <2.8 and need a simple, annotation-driven ACL filter.
    • Your ACL rules are static and SQL-based (e.g., "User X can only see Projects they own").
    • You want to reduce boilerplate for common IN (subquery) patterns in repositories.

How to Pitch It (Stakeholders)

For Executives: "This package automates row-level security for our Doctrine entities, ensuring users only access data they’re authorized to see—without writing custom queries. It’s a lightweight, MIT-licensed solution that could save dev time and reduce security risks, though we’d need to confirm it meets our long-term tech stack (Doctrine 2.8+ has native alternatives)."

For Engineering: *"Pros:

  • Zero manual filtering: Annotate entities (e.g., @AclAnnotation) to auto-filter queries like Project::findAll() to only return projects linked to the current user.
  • Simple setup: 2 steps—composer install + config.yml—no complex event listeners.
  • Legacy-friendly: Works with older Doctrine versions if we’re not upgrading soon.

Cons:

  • Deprecated: Doctrine 2.8+ has built-in filters; migration path exists but may require refactoring.
  • Limited flexibility: SQL is hardcoded in annotations; dynamic rules (e.g., role-based overrides) need custom logic.
  • Unmaintained: Low adoption; evaluate risk vs. rolling our own.

Recommendation: If we’re stuck on Doctrine <2.8, this is a quick win. Otherwise, prototype Doctrine’s native filters first."*

For Security/Compliance: "This bundle enforces least-privilege access by scope queries to user-specific data at the database level, reducing exposure from application-layer leaks. However, we’d need to audit the SQL generation to ensure no injection vectors or logic gaps."

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