Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Simple Permissions Laravel Package

guava/simple-permissions

A lightweight permissions package for Laravel that lets you assign roles and permissions to users through a simple, readable API, with middleware and Blade directives for guarding routes and views without the overhead of larger ACL libraries.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

  • Assessment baseline: v1.1.1. This is a patch release containing a roles-cast bug fix and README updates; no new features, deprecations, or breaking changes are indicated. Treat it as a low-risk maintenance update, but require regression coverage around role casting/serialization before adoption.
  • Architecture fit: Laravel-native RBAC package is a strong fit for applications using Eloquent models, standard guards, middleware, gates, and policies for simple role/permission checks. It is a weaker fit for complex ABAC, delegated administration, externalized authorization, or team/multi-tenant permission scoping unless those capabilities are explicitly supported.
  • Integration feasibility: High for a Laravel monolith or API using built-in authentication. Adoption requires publishing config/migrations, seeding roles and permissions, assigning them to users, and enforcing checks at routes/controllers/policies.
  • Technical risk: Package maturity and community support are the main risks. The roles-cast fix suggests edge cases around model casting or serialization; validate custom User/Role models, API responses, and cached permissions. Upgrade risk is low, but pin the version and test in staging.
  • Key questions: Which Laravel/PHP versions are supported? Does it support multiple guards/auth providers? Are team/multi-tenant scopes supported? How is permission cache invalidation handled? Can Role/Permission models be extended safely? What is the test coverage and maintenance cadence? How do we migrate from existing authorization logic? Is audit logging required?

Integration Approach

  • Stack fit: Use for Laravel applications that need straightforward RBAC and already rely on Laravel’s auth, middleware, and policy patterns. Avoid forcing it into highly dynamic or externally managed authorization models without a clear extension path.
  • Migration path: Require a pinned ^1.1.1; publish config and migrations; run migrations in staging; seed the permission catalog; backfill existing role assignments; add middleware/gates/policies; validate access paths before production rollout.
  • Compatibility: Confirm the supported Laravel/PHP matrix, then test custom User/Role models, role casting in JSON/API responses, guard names, cache drivers, queue workers, and Laravel Octane if applicable.
  • Sequencing: 1) define the authorization model and role taxonomy, 2) install and migrate in staging, 3) seed and backfill roles/permissions, 4) enforce checks on routes and policies, 5) run UAT with representative users, 6) roll out to production with monitoring and rollback plan.

Operational Impact

  • Maintenance: Low-to-medium. Patch releases appear small; pin versions, review changelogs, and maintain a short regression suite for role/permission behavior.
  • Support: Community-supported package; assign an internal owner and keep a fork/fallback option if maintenance slows or required fixes are not released.
  • Scaling: Cache permission lookups and index pivot tables; avoid per-request N+1 role checks; define cache invalidation when roles or permissions change.
  • Failure modes: Stale permission caches, role-cast/serialization regressions, guard or auth-provider mismatch, missing migrations, overly broad role assignments, and rollback complexity after backfilling production data.
  • Ramp-up: Low for Laravel developers familiar with middleware and policies; medium for product/engineering teams that need to design a clean authorization model and migrate existing access rules.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource