ticketpark/dynamic-role-bundle
A Symfony bundle that adds support for dynamic roles, letting applications define and manage security roles at runtime instead of hardcoding them in configuration. Useful when roles need to be created, stored, or changed without redeploying.
roles table and a user-role join, or adopt an existing adapter?" — a decision worth roughly a few days of engineering, not a quarter.Important caveat for a Laravel-focused team: despite the framing of this request, ticketpark/dynamic-role-bundle is a Symfony bundle, not a Laravel package. It will not drop into a Laravel application. It is relevant as a reference design for the role-persistence pattern, not as a dependency.
Adopt only under a narrow set of conditions:
security.yaml, and you specifically want a DBAL-level implementation rather than a full entity/ORM-based user-role manager.Look elsewhere when:
spatie/laravel-permission or Laravel's native Gates/Policies; this bundle is architecturally inapplicable.For executives: "This is a small, unmaintained open-source component from 2017 that solves one narrow problem: letting roles be assigned at runtime instead of hard-coded at deploy time. It is not something we should ship as a dependency — no releases in seven years and no user base means no security support. But the capability it points at — customer-defined roles and runtime permission grants — is worth a roadmap conversation, because it's usually what enterprise buyers mean when they ask for 'flexible permissions.' I recommend we treat it as a design reference and budget the small amount of engineering to build the pattern ourselves on our actual stack."
For engineering: "It's a Symfony bundle providing Doctrine DBAL persistence for Symfony Security roles. Two problems: (1) we're on Laravel, so it doesn't apply at all — the equivalent is spatie/laravel-permission or native Gates; (2) even on Symfony, it's pinned to the 2017 era and won't survive a modern security component. The useful takeaway is the data model: a roles table plus a user-role assignment table, with role checks resolved at authentication time rather than compiled from config. Estimate the pattern at a few days; don't inherit the dependency. If we do build it, include an audit trail on role changes from day one — retrofitting that is expensive."
Bottom line: low adoption value as a package (score 0.13, 0 stars, no dependents, stale), moderate value as a prompt to make an explicit decision about static vs. dynamic authorization. Decide the product question; build the implementation in-house on the stack you actually run.
How can I help you explore Laravel packages today?