ihabafia/permissions-admin
A Laravel package that provides an admin interface for managing roles and permissions. It streamlines creating, assigning, and maintaining access-control records, helping teams manage authorization settings without building custom CRUD screens.
auth middleware to the package's registered routes. That reframes the package from "routes exist and may be publicly reachable" (1.0.0) to "routes require an authenticated session by default." This is the kind of patch that lets a PM greenlight a dependency for an internal or customer-facing surface that touches account data.auth (session guard) is the wrong gate.Adopt when most of the following hold:
web/session guard that Laravel's auth middleware resolves to.Look elsewhere, or budget significant glue work, when:
auth proves identity; it does not enforce roles, tenancy, or per-record access. You still own policies and gates.auth middleware may point at the wrong guard and silently lock out legitimate users — check whether the guard is configurable before committing.For executives: Version 1.0.1 closes an access-control gap — the package's routes are now protected by authentication middleware by default. That materially lowers the risk of exposing internal screens or data to unauthenticated visitors. The upgrade is small and cheap; the downside of staying on 1.0.0 is a security finding waiting to be filed. Recommended action: require 1.0.1 as the minimum version wherever this package is used, and confirm no public-facing flow depended on the old open behavior.
For engineering: The patch registers auth middleware on the package's routes. Confirm three things before rollout: (1) the resolved guard matches the guard your app actually authenticates with — session, Sanctum, or a named guard; (2) no route consumers (webhooks, health checks, iframes, API clients) relied on anonymous access; (3) the package permits overriding or excluding routes, so you are not forced into a fork the first time you need a public endpoint. Add a regression test that asserts unauthenticated requests are rejected, so a future package bump cannot quietly reopen the surface. Note this is authentication only — authorization and tenancy remain our responsibility.
How can I help you explore Laravel packages today?