fsi/admin-security-bundle
Adds user, role, and permission management to FSi Admin Bundle, securing admin panels and controlling access to sensitive back-office features with configurable authorization.
Architecture fit — mismatch with stated target. The package is a Symfony bundle (fsi-open namespace, registered via Symfony's bundle/kernel mechanism, extending symfony/security-bundle), not a Laravel package. It provides authentication and authorization glue specifically for fsi-open/admin-bundle. There is no Laravel service provider, no guard, no Auth::extend hook, no Eloquent integration, and no published config stub in the Laravel sense. If our target runtime is Laravel, this is not an integration candidate — it is a different framework's ecosystem. The correct framing for this assessment is: adopt only if we are (or become) a Symfony shop running FSI AdminBundle.
Integration feasibility — high coupling, low optionality. The bundle is not standalone. It is a thin security layer on top of AdminBundle, which itself assumes Symfony, Doctrine ORM, and a Sonata-style admin CRUD model. Consuming it means adopting that entire stack, not adding a library. It cannot be "wrapped" or ported to Laravel meaningfully because its value is in Symfony security component events (voters, authenticators, access decision manager), which have no Laravel analogue.
Technical risk — elevated, and concentrated in unmaintained security code.
Key questions to resolve before any commitment:
fsi-open/admin-bundle? If no, the transitive adoption cost dominates everything.Stack fit. Compatible only with: PHP 8.x, Symfony 5/6-era kernel, Doctrine ORM, FSI AdminBundle. Incompatible with: Laravel's Illuminate\Auth guards/providers, Laravel policies/gates, Eloquent models, Laravel middleware pipelines. There is no bridging shim worth building — an adapter would require reimplementing Symfony's voter semantics on top of Laravel gates, at which point we own the code and gain nothing from the dependency.
Migration path (only viable branch). If the decision is to adopt FSI AdminBundle, sequence is: AdminBundle first → verify its Doctrine/entity conventions against our schema → then layer AdminSecurityBundle for authn/authz. Do not attempt to adopt this bundle independently; it will resolve to a hard dependency on the admin layer anyway.
Compatibility verification checklist.
composer.json (Symfony, Doctrine, PHP).dev-master for anything in the auth path.Sequencing and go/no-go gates.
Maintenance. We inherit it. With a single-vendor origin, 4 stars, and 0 dependents, the expected upstream patch cadence is "on the vendor's own schedule." Our team becomes responsible for Symfony major-version bumps, security patches, and CVE triage. This is a recurring cost, not a one-time integration fee.
Support. No community forum, no meaningful issue triage history given the adoption footprint, no third-party consultants. Support is entirely internal or contractual with FSI. Budget for an internal Symfony Security SME — this is the real ramp-up constraint, not the API surface.
Scaling. The auth layer itself is not the bottleneck; Symfony's access decision manager is well-understood and fast. Scaling risk sits in AdminBundle's Doctrine query patterns and entity hydration under admin load, which is outside this package's control. Do not attribute AdminBundle performance characteristics to this bundle in either direction.
Failure modes, ranked by severity.
Ramp-up. Small surface area (a handful of authenticator and voter classes), but it requires working fluency in Symfony's security component, event dispatcher, and voter/attribute model. Estimate one to two weeks for a mid-level PHP engineer who already knows Symfony; significantly longer for a Laravel-native team with no Symfony exposure. That crossover cost is the strongest practical argument against adoption if the team is Laravel-centric.
Bottom line for the product decision. The composite score (11.3) and 0-dependents signal are consistent with a niche, vendor-internal bundle with no external validation. Against a Laravel target it is simply the wrong framework and should be closed out. Against a Symfony-plus-AdminBundle stack it is a plausible small piece of a larger commitment — adopt it only as a forked, pinned, internally-owned dependency, and only after the admin layer itself clears its own evaluation.
How can I help you explore Laravel packages today?