Skip to content

Basic Usage of Roles & Permissions

Learn to use the roles and permissions system in Filament Tenancy.

Add the HasRoles trait to your User model:

use AngelitoSystems\FilamentTenancy\Concerns\HasRoles;
class User extends Authenticatable
{
use HasRoles;
}
// Assign a role
$user->assignRole('admin');
// Assign multiple roles
$user->syncRoles(['admin', 'editor']);
// Remove a role
$user->removeRole('admin');
// Check if user has a specific role
$user->hasRole('admin');
// Check if user has any of the given roles
$user->hasAnyRole(['admin', 'editor']);
// Check if user has all of the given roles
$user->hasAllRoles(['admin', 'editor']);
// Give permission to user
$user->givePermissionTo('manage users');
// Sync permissions
$user->syncPermissions(['manage users', 'view dashboard']);
// Revoke permission
$user->revokePermissionTo('manage users');
// Verify permissions
$user->hasPermissionTo('manage users');
$user->hasAnyPermission(['manage users', 'edit posts']);
  1. Super Admin: Full access
  2. Admin: Limited administrative access
  3. User: Basic permissions