Skip to content

shanerbaner82/panel-roles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Filament Panel Roles

Filament Panel Roles

Filament Panel Roles is an intuitive way to ensure all users of a specified panel within Filament v3 is assigned a role during registration and has a specified role using Laravel Middleware.

Installation

  composer require shanerbaner82/panel-roles

Setup

Filament Panel Roles requires you to install Spatie's Laravel Permissions package. the minimum setup required is to:

  1. Install Spatie's package
  2. Add the RoleMiddleware to yourapp/Http/Kernel.php

Usage

Inside any of your Filament panels add the Panel Roles plugin and specify the role users will be assigned and must have in order to login.

use Shanerbaner82\PanelRoles\PanelRoles;

class AdminPanelProvider extends PanelProvider
{
    public function panel(Panel $panel): Panel
    {
        return $panel
            ... 
            ->plugin(PanelRoles::make()
                ->roleToAssign('developer')
                ->restrictedRoles(['admin', 'developer']),
            )
    }
}

Technically you do not need to chain the registration() function on your panel, but if you do when a user registers they will be assigned the provided role.

Bonus

Watch LaravelOnline on YouTube to see how this plugin was created and to learn more about Laravel and Filament!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages