a2zwebltd/nova-role-manager
Nova Role Manager adds a clean Laravel Nova interface for creating, editing, and assigning roles and permissions. Built around spatie/laravel-permission, it lets you manage access control, attach permissions to roles, and assign roles to users directly from your Nova dashboard without custom code.
protected_roles concept (e.g. locking SUPER_ADMIN) is now a first-class policy enforced across all write paths. That makes it a decision you can defend in a security review: "no admin UI action can alter a protected role," rather than "the save form doesn't offer it."edit_permission is now checked by a single shared guard on every write endpoint, PMs can approve a roadmap item like "let team leads manage non-privileged roles" without granting broad admin rights.role_id fix means the tool validates against role-manager.role_model and honors a renamed Spatie roles table or a custom role model. This removes a migration blocker for teams with non-default schema conventions, and affects whether the package fits an existing install versus a greenfield one.Consider it when:
SUPER_ADMIN) enforced at the API layer, not just visually hidden in the UI. Prior to v1.2.1 this guarantee was incomplete; on v1.2.1+ it is consistent across all three write endpoints.permission.table_names.roles, or a custom role model — and need the tool to respect that configuration.edit_permission gate constrains who can change role-permission mappings.Look elsewhere (or build in-house) when:
For executives: This is a small, configurable admin tool that lets authorized staff manage who can do what inside our Laravel admin panel, instead of engineers doing it by hand in the database. The release we're reviewing is a security hardening patch: it closes a path where a privileged role like SUPER_ADMIN could have permissions changed by a direct API request that bypassed the intended protection. It also makes the tool work with customized database schemas, and adds automated tests. No new features, no breaking changes — low-risk upgrade that reduces an access-control exposure.
For engineering leads: v1.2.1 consolidates authorization into a single shared guard applied to the save, toggle, and bulk-toggle endpoints, so edit_permission and protected_roles can no longer diverge between write paths — a direct-request bypass of protected_roles is closed. role_id validation now resolves through role-manager.role_model rather than a hard-coded exists:roles,id, so renamed Spatie role tables and custom role models validate correctly. A Pest + Testbench suite now covers these endpoints, giving us regression coverage on the security-critical surface.
Recommended action: Upgrade to v1.2.1 promptly given the security fix, verify your protected_roles and edit_permission configuration still behaves as intended, and confirm a custom role_model (if used) validates. Treat audit logging and approval workflows as separate workstreams if they're required — they are not addressed here.
How can I help you explore Laravel packages today?