- What is gepur-it/access_manager and what does it do in Laravel?
- Access Manager is a Laravel package by gepur-it for organizing roles, permissions, and access rules in one place. It provides role and permission assignment, route middleware, Blade directives, and a central configuration source for access rules. It is intended for applications that need straightforward role-based or permission-based checks rather than a large authorization platform.
- How do I install gepur-it/access_manager with Composer in Laravel?
- Install it with Composer using the package name gepur-it/access_manager, then rely on Laravel package discovery for the service provider. You will typically publish the config and migrations, run migrations, seed roles, and attach the package trait to your user model. Pin v5.1.0 and check its Composer constraints against your PHP and Laravel versions before installing.
- Which Laravel and PHP versions does access_manager v5.1.0 support?
- The v5.1.0 release note only states that PHP >=7.3 is allowed, which widens the Composer constraint but does not confirm a tested Laravel compatibility matrix. The package README and release notes do not clearly document which Laravel majors are supported or tested. Validate constraints against your target Laravel version in a non-production spike before committing.
- How do I protect routes with access_manager middleware?
- Access Manager provides middleware for protecting routes, which you register or alias in your Laravel HTTP kernel or bootstrap configuration. Apply the middleware to route groups or individual routes after roles and permissions are configured. Test the middleware behavior with your actual guard setup because guard mismatches are a noted risk.
- Can I use access_manager with Laravel Gates and Policies?
- The package is described as integrating with Laravel's authorization conventions, but the assessment warns it may introduce a parallel authorization model. Prefer mapping package roles and permissions into Gates and Policies behind a thin application-owned adapter. Avoid running two independent authorization systems unless one is clearly the source of truth.
- How do I use access_manager Blade directives for conditional UI?
- Blade directives are included for conditionally showing UI based on roles or permissions. Use them for presentation only, not as the sole enforcement mechanism, because server-side middleware or policy checks must still protect the underlying action. Verify directive behavior against your guard and permission naming.
- Does access_manager support multiple guards, multi-tenancy, or super-admin bypass?
- The provided context does not confirm safe support for multiple guards, multi-tenancy, role hierarchy, or super-admin bypass. These are listed as open questions and risks, especially for security-critical or multi-tenant applications. Test each scenario explicitly if you rely on them.
- How are roles and permissions cached and invalidated in access_manager?
- The context does not document how permissions are cached or invalidated, and unclear permission-caching behavior is called out as a risk. If you adopt the package, review the source and test cache invalidation when roles or permissions change. Consider wrapping permission checks in your own service layer to control caching.
- Is gepur-it/access_manager safe for production and actively maintained?
- The assessment rates technical risk as high: adoption is minimal, there are zero dependents, and there is no evidence of an active security-response process. v5.1.0 is a modest maintenance signal but only widens the PHP constraint and does not demonstrate current Laravel or security maintenance. It is a conditional no-go as a primary authorization foundation for production; use only with a pinned version, proven compatibility, and an application-owned abstraction.
- What are alternatives to access_manager for Laravel RBAC?
- For production authorization, consider a maintained Laravel RBAC package or a small in-house authorization layer built on Gates and Policies. Access Manager may fit a small internal or legacy app already aligned to its data model. Evaluate maintenance signals, security policy, and Laravel version support before choosing any alternative.