mrdanshur/user-bundle
mrdanshur/user-bundle is a Laravel package that provides a ready-made user management layer, including authentication scaffolding, profile handling, and role-based access helpers. It aims to speed up adding users, permissions, and account features to new or existing PHP applications.
Architecture fit
There is a fundamental stack mismatch that dominates the evaluation. Despite being filed here as a Laravel/PHP package, mrdanshur/user-bundle is a Symfony bundle — a fork of FriendsOfSymfony/FOSUserBundle, published under the symfony-bundle package type. It integrates by registering compiler passes into Symfony's DependencyInjection container, plugging a user provider into the Symfony Security component, and wiring Doctrine ORM/ODM mappings plus Twig templates. None of those extension points exist in Laravel: Laravel bootstraps service providers, authenticates through guards and Eloquent/DB user providers, and renders Blade. A Symfony bundle cannot be "adapted" to Laravel — it can only be reimplemented.
Even in its native Symfony context, fit is weak. Upstream FOSUserBundle is itself in sunset status, superseded by maker-bundle-generated user entities plus first-party symfony/security-bundle authenticators. This fork is a 2021 snapshot of an already-declining upstream.
Integration feasibility
Composer-level feasibility is low:
Technical risk
Authentication is the highest-consequence code in any application, and this artifact carries none of the assurance signals you require for it:
Key questions for the requester
Stack fit
For Laravel, fit is nil; recommend closing the evaluation on stack grounds rather than feature grounds. Requirements map cleanly to first-party tooling:
| Requirement | Laravel equivalent |
|---|---|
| Registration, login, reset, email verification | Laravel Fortify (headless) or Breeze/Jetstream |
| Profile management | Simple controller + FormRequest |
| Groups / roles | spatie/laravel-permission or native gates |
| Custom storage | Eloquent/DB user provider (built in) |
For Symfony, the successor path is the framework's own make:user entity plus a custom authenticator — not a fork of a sunset bundle.
Migration path
No direct path exists. If the underlying driver is legacy FOSUserBundle data, the realistic sequence is: keep the schema, drop the bundle, and write a thin user provider against the existing tables — in whichever framework is actually in play. This is a bounded, testable piece of work; adopting the fork merely defers it.
Compatibility
Effectively frozen at Symfony 4.4/5.x and PHP ≤8.0 semantics. Unverified against PHP 8.2/8.3, incompatible with Symfony 6/7 component constraints, and therefore incompatible with the dependency graph of any current Laravel or Symfony release.
Sequencing
Maintenance — You would inherit 100% of maintenance from day one: no upstream patches since 2021, no dependency bumps, no framework-version support. Every future PHP or framework upgrade becomes a manual port of auth internals.
Support — No vendor, no commercial backing, no triage activity, 0 dependents to consult. Documentation is limited to upstream's, which itself steers users away from the bundle. Internal escalation path is "the one engineer who read the source."
Scaling — Not a bundle-layer concern; the bottleneck is the user table and session/token store. Worth noting only that FOSUserBundle's model is comparatively heavy (user manager, canonical fields, group membership, event dispatchers), so it adds surface area without adding throughput.
Failure modes — The dangerous ones are silent: unpatched authentication CVEs with no advisory feed to alert you; composer resolution drift that blocks a security upgrade of a different package; opaque password-encoder configuration that complicates any future hash migration; stale reset-token semantics that fail open rather than closed. None of these surface in testing.
Ramp-up — Non-trivial cost, zero transferable value. An engineer learns Symfony bundle semantics, container wiring, and Doctrine ODM bridges to deliver functionality that Laravel's Fortify provides out of the box in an afternoon. The reimplementation cost in Laravel is lower than the learning cost of the fork.
Recommendation — Reject. The 0.1 score is consistent with the evidence: wrong framework, abandoned upstream, unvetted single-maintainer fork of security-critical code, no adoption signal. Route the underlying requirement to first-party auth tooling for the actual stack.
How can I help you explore Laravel packages today?