The easiest and most intuitive way to add access management to your Filament Resource Models through `spatie/laravel-permission`

Overview

filament-shield-art

Filament Shield

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

The easiest and most intuitive way to add access management to your Filament Resource Models (more coming soon 😎 )

One Plugin to rule them all, One Plugin to find them, One Plugin to bring them all, and in the light bind them, In the Land of Filament where building them is really fun!

Support Filament

filament-logo

Installation (New Apps)

  1. Install the package via composer:
composer require bezhansalleh/filament-shield
  1. Publish the config file with:
php artisan vendor:publish --tag="filament-shield-config"
  1. Change super_admin_role_name if you want. (You can skip this step if you use the default) Every permission generated will be automatically assigned to this role. Then you would be able to make a user super admin by assigning this role to them.
'default_roles' => [
     'super_admin_role_name' => 'super_admin',
     'filament_user' => [
         'role_name' => 'filament_user',
         'enabled' => true
     ],
 ],
  1. Add the Spatie\Permission\Traits\HasRoles trait to your User model(s):
use Illuminate\Foundation\Auth\User as Authenticatable;
use Spatie\Permission\Traits\HasRoles;

class User extends Authenticatable
{
    use HasRoles;

    // ...
}
  1. Now run the following command to setup everything:
php artisan shield:install

Follow the prompts and enjoy!

Installation (Existing Apps)

Apps with spatie/laravel-permission already installed

  1. Follow the above steps from (1) thorugh (4) run the following command to setup everything:
php artisan shield:install --fresh

Beaware, that even though there are checks in place but if confirmed; existing policies might get overwritten.

RolePolicy

To ensure RoleResource access via RolePolicy you would need to add the following to your AuthServiceProvider:

//AuthServiceProvider.php
...
protected $policies = [
    'Spatie\Permission\Models\Role' => 'App\Policies\RolePolicy',
];
...

Optionally, you can publish the translations using

php artisan vendor:publish --tag="filament-shield-translations"

Available Filament Shield Commands

  shield:create    # Create Permissions and/or Policy for the given Filament Resource Model
  shield:generate  # (Re)Discovers Filament resources and (re)generates Permissions and Policies.
  shield:install   # One Command to Rule them All 🔥
  shield:publish   # Publish filament shield's Resource.

Chores

  • shield:install command flow improved ⚒️
  • Improve documentation 📝
  • A command to reverse everything 🤯
  • handle except or only options for Permission and Policy generation 👀
  • improve automation or add new features...

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.

Comments
  • Fix issue on phpstan

    Fix issue on phpstan

     ------ ------------------------------------------------------- 
      Line   app/Policies/RolePolicy.php                            
     ------ ------------------------------------------------------- 
      43     PHPDoc tag @param references unknown parameter: $role  
     ------ ------------------------------------------------------- 
    
    opened by lloricode 7
  • Possible issue involving permissions of models with composite name

    Possible issue involving permissions of models with composite name

    I'm facing an issue involving a mismatch with the name of permissions for models with composite name.

    My model is named as IpAddress. After ran install command the permissions were created in the database as:

    • create_ipaddress
    • delete_any_ipaddress
    • delete_ipaddress
    • export_ipaddress
    • update_ipaddress
    • view_any_ipaddress
    • view_ipaddress

    Also in the IpAddressPolicy class, the permissions are exactly the same and it is working for super admin at this point.

    The problem starts after create a new role with low access and try add permissions for this resource. When we need change the role, the form of the card in edit page has the wrong name in the fields.

    Screen Shot 2022-07-20 at 10 07 12

    After enable the toogle and save it, I'm able to see permissions duplicated in the database (table permissions): there are two records for each permission, one with ipaddress and other with ip_address. The permissions in DB are like this list:

    • create_ipaddress
    • delete_any_ipaddress
    • delete_ipaddress
    • export_ipaddress
    • update_ipaddress
    • view_any_ipaddress
    • view_ipaddress
    • create_ip_address
    • delete_any_ip_address
    • delete_ip_address
    • export_ip_address
    • update_ip_address
    • view_any_ip_address
    • view_ip_address

    After this point all the users (even super_admin) are not able to access the resource, no matter what you try in the settings or in role configuration.

    The others resource for Models with regular names, like the model Banner from the screenshot, are still working perfectly.

    opened by deniscsz 7
  • How attribute a role on a user ?

    How attribute a role on a user ?

    Hi all

    I installed the filament shield plugin after following the instructions on https://github.com/bezhanSalleh/filament-shield The role management is well integrated but i don't know how i can attribute a role on users. There is no explanation on how associate a role on user except

    Add the Spatie\Permission\Traits\HasRoles trait to your User model(s): use Illuminate\Foundation\Auth\User as Authenticatable; use Spatie\Permission\Traits\HasRoles;

    class User extends Authenticatable { use HasRoles; //..... } roles users

    opened by eaziweb95 7
  • Filament Shield permissions are not applying on some pages

    Filament Shield permissions are not applying on some pages

    I've installed laravel 9.x version with filament, filament-shield, spatie laravel-permission, filament blog, and some other packages. Everything is working fine but the filament shield permissions are not working correctly.

    This is my normal user role settings and I have disabled all permissions to the normal user role except the dashboard page, but the user can still see all the pages in his account except the "Roles" and "Users" pages. the permissions are just implemented on these two pages, the rest of the pages are still showing in the user account.

    https://www.linkpicture.com/q/filament.png

    What can be the issue, I've installed all the packages with the documentation given on the packages documentation page?

    opened by mnafullstack 6
  • feat: use config models

    feat: use config models

    When extend role or permission model, we should use the model specified in the config so that we do not get errors in filament dashboard or commands.

    Example extend, uuid based role and permission https://spatie.be/docs/laravel-permission/v5/advanced-usage/uuid

    opened by FurkanGM 4
  • Custom Navigation Group

    Custom Navigation Group

    Hi there, I can't seem to place this plugin into a custom nav group - I want to place access to this plugin, so it can sit with the rest of my nav items under 'System' nav group.

    These seem to be the only 3 nav options we have:

        'shield_resource' => [
            'navigation_sort' => -1,
            'navigation_badge' => true,
            'navigation_group' => false,
    

    Would like something like:

        'shield_resource' => [
            'navigation_custom_group' => 'System',
    
    opened by martingrondein-nls 4
  • Failed to open stream: No such file or directory when installing on Windows

    Failed to open stream: No such file or directory when installing on Windows

    Full error: file_put_contents(C:\Users\danie\Documents\projecten\laravel-webshop\app\Policies/RolePolicy.php): Failed to open stream: No such file or directory

    Looks like the problems is with the fact i'm using windows. Windows used the \ and this package uses /. Is there a way to fix this?

    opened by DanielvdSpoel 4
  • Customize resource permission suffix

    Customize resource permission suffix

    Added possibility to customize the suffix for Resource permissions.

    For example if you have a CategoryResource in the Resources\Tenant\Blog directory, by default suffix for all permissions will be tenant::blog::category, but you can change it to be shorter, like category.

    <?php
    
    namespace BezhanSalleh\FilamentShield\Resources\Tenant\Blog;
    
    ...
    
    class CategoryResource extends Resource
    {
        ...
    
        public static function getPermissionSuffix(): string
        {
            return 'category';
        }
    
        ...
    }
    

    ✅ In this way all permission names will be shorter. For example instead of the default force_delete_tenant::blog::category you will have force_delete_category;

    opened by icaliman 3
  • error on install

    error on install

    I am getting the following error while trying to install

    SQLSTATE[HY000]: General error: 1025 Error on rename of './testsite/model_has_permissions' to './testsite/#sql-backup-56c-54' (errno: 168 "Unknown (generic) error from engine") (SQL: alter table `model_has_permissions` add constraint `model_has_permissions_permission_id_foreign` foreign key (`permission_id`) references `permissions` (`id`) on delete cascade)
    
      at vendor/laravel/framework/src/Illuminate/Database/Connection.php:760
        756▕         // If an exception occurs when attempting to run a query, we'll format the error
        757▕         // message to include the bindings with SQL, which will make this exception a
        758▕         // lot more helpful to the developer instead of just the database's errors.
        759▕         catch (Exception $e) {
      ➜ 760▕             throw new QueryException(
        761▕                 $query, $this->prepareBindings($bindings), $e
        762▕             );
        763▕         }
        764▕     }
    
          +9 vendor frames 
      10  database/migrations/2022_11_11_150719_create_permission_tables.php:75
          Illuminate\Support\Facades\Facade::__callStatic("create")
    
          +37 vendor frames 
      48  artisan:37
          Illuminate\Foundation\Console\Kernel::handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
    
    opened by rebornmedia1 3
  • I can access role page and edit role without permission

    I can access role page and edit role without permission

    Hello,

    I have configure a new role without "Role" permission and if i'm log in the account which don't have role permission i view the page and if i edit role and i'm delete "disabled" variable with source i can edit the role.

    Screenshots:

    Role (super admin account): image

    Role page (new account without permission): image

    Edit role (new account without permission): image

    opened by nicolasbaud 3
  • Empty permision list for resources

    Empty permision list for resources

    Hello I just updated from v1 to v2 but I have a problem. In Edit page of a Role, there is no permissions to be selected for resources: image

    what did I wrong?

    opened by asefsoft 3
  • Bump aglipanci/laravel-pint-action from 1.0.0 to 2.1.0

    Bump aglipanci/laravel-pint-action from 1.0.0 to 2.1.0

    Bumps aglipanci/laravel-pint-action from 1.0.0 to 2.1.0.

    Release notes

    Sourced from aglipanci/laravel-pint-action's releases.

    v2.1.0

    Fixing aglipanci/laravel-pint-action#1.

    v2.0.0

    Adding the ability to specify the Pint version on the configuration file.

    Commits
    • 5c0b1f6 Fixing the case of setting the testmode to false.
    • 180ac90 Update README.md
    • 07f4f96 Updating README.md
    • c4b9ef6 Merge pull request #3 from aglipanci/version-based-pint
    • 203c2fe Update entrypoint.sh
    • 9258dcb Update entrypoint.sh
    • 18945b8 adding pint version to actions.yml
    • f8d8a4f dynamic pint version
    • 14b329e removing pint installation from the docker file
    • 17f4cb9 moving pint package installation to the entrypoint
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    opened by dependabot[bot] 1
  • Bump ramsey/composer-install from 1 to 2

    Bump ramsey/composer-install from 1 to 2

    Bumps ramsey/composer-install from 1 to 2.

    Release notes

    Sourced from ramsey/composer-install's releases.

    2.0.0

    Added

    • Use --prefer-stable with lowest dependencies (#178)
    • Allow use of a custom cache key (#167)
    • Allow ability to ignore the cache

    Changed

    Fixed

    • Fix case where working-directory did not run composer install in the correct working directory (#187)
    • Fix problems with retrieving cache with parallel builds (#161, #152)
    • Fix problems restoring from cache on Windows (#79)

    1.3.0

    • Support passing --working-dir as part of composer-options

    1.2.0

    • Support Composer working-directory option for when composer.json is in a non-standard location.
    • Add operating system name to the cache key.

    1.1.0

    Display Composer output with ANSI colors.

    1.0.3

    Patch release for dependency updates.

    1.0.2

    • Use the GitHub cache action directly to avoid duplication of code/effort.
    • Turn on output of Composer command to provide feedback in the job log
    • Use Composer cache-dir instead of cache-files-dir

    1.0.1

    Rewrite and refactor as a JavaScript action.

    Commits
    • 83af392 :sparkles: Add new custom-cache-suffix option (#239)
    • 7f9021e Fix use of deprecated set-output command (#238)
    • 4617231 Tests: update the included composer.phar from v 2.2.2 to 2.2.18 (#237)
    • 72896eb Add dependabot configuration file (#227)
    • 69e970d GH Actions: version update for codecov action runner (#226)
    • e3612f6 GH Actions: version update for actions/cache (#224)
    • d515102 GH Actions: version update for various predefined actions (#222)
    • 6085843 GH Actions: re-work the integration tests (#221)
    • f680dac test: add PHP path back to command, as well as debug message
    • 3c51967 test: ensure we use the alternate composer location
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    opened by dependabot[bot] 1
Releases(2.3.2)
  • 2.3.2(Nov 16, 2022)

    What's Changed

    • Make Navigation Item visible/hidden by @ThijmenKort in https://github.com/bezhanSalleh/filament-shield/pull/146
    • fix:install and super-admin commands when Model::preventLazyLoading() by @bezhanSalleh in https://github.com/bezhanSalleh/filament-shield/pull/147

    New Contributors

    • @ThijmenKort made their first contribution in https://github.com/bezhanSalleh/filament-shield/pull/146

    Full Changelog: https://github.com/bezhanSalleh/filament-shield/compare/2.3.1...2.3.2

    Source code(tar.gz)
    Source code(zip)
  • 2.3.1(Nov 8, 2022)

    What's Changed

    • Bump dependabot/fetch-metadata from 1.3.4 to 1.3.5 by @dependabot in https://github.com/bezhanSalleh/filament-shield/pull/141
    • feat: use config models by @FurkanGM in https://github.com/bezhanSalleh/filament-shield/pull/139

    New Contributors

    • @FurkanGM made their first contribution in https://github.com/bezhanSalleh/filament-shield/pull/139

    Full Changelog: https://github.com/bezhanSalleh/filament-shield/compare/2.3.0...2.3.1

    Source code(tar.gz)
    Source code(zip)
  • 2.3.0(Nov 1, 2022)

    What's Changed

    • Feature/liberating resource permissions by @bezhanSalleh in https://github.com/bezhanSalleh/filament-shield/pull/140

    Full Changelog: https://github.com/bezhanSalleh/filament-shield/compare/2.2.9...2.3.0

    Source code(tar.gz)
    Source code(zip)
  • 2.2.9(Oct 28, 2022)

    What's Changed

    • some optimization courtesy of @SkeyPunyapal

    Full Changelog: https://github.com/bezhanSalleh/filament-shield/compare/2.2.8...2.2.9

    Source code(tar.gz)
    Source code(zip)
  • 2.2.8(Oct 28, 2022)

    What's Changed

    • Bump dependabot/fetch-metadata from 1.3.3 to 1.3.4 by @dependabot in https://github.com/bezhanSalleh/filament-shield/pull/129
    • ro language by @boyfromhell in https://github.com/bezhanSalleh/filament-shield/pull/127
    • Ru & UA translation by @HomaEEE in https://github.com/bezhanSalleh/filament-shield/pull/128
    • Improve Default Policy Stub Replicate Comment by @intrepidws in https://github.com/bezhanSalleh/filament-shield/pull/130

    New Contributors

    • @boyfromhell made their first contribution in https://github.com/bezhanSalleh/filament-shield/pull/127
    • @HomaEEE made their first contribution in https://github.com/bezhanSalleh/filament-shield/pull/128

    Full Changelog: https://github.com/bezhanSalleh/filament-shield/compare/2.2.7...2.2.8

    Source code(tar.gz)
    Source code(zip)
  • 2.2.7(Sep 29, 2022)

    What's Changed

    • vi translations by @datlechin in https://github.com/bezhanSalleh/filament-shield/pull/123
    • Feature: Implement optional --minimal flag by @awcodes in https://github.com/bezhanSalleh/filament-shield/pull/124

    New Contributors

    • @datlechin made their first contribution in https://github.com/bezhanSalleh/filament-shield/pull/123
    • @awcodes made their first contribution in https://github.com/bezhanSalleh/filament-shield/pull/124

    Full Changelog: https://github.com/bezhanSalleh/filament-shield/compare/2.2.6...2.2.7

    Source code(tar.gz)
    Source code(zip)
  • 2.2.6(Sep 15, 2022)

    What's Changed

    • fixes #120 by @bezhanSalleh in https://github.com/bezhanSalleh/filament-shield/pull/122

    Full Changelog: https://github.com/bezhanSalleh/filament-shield/compare/2.2.5...2.2.6

    Source code(tar.gz)
    Source code(zip)
  • 2.2.5(Sep 11, 2022)

  • 2.2.4(Sep 11, 2022)

    What's Changed

    • adds the ability to set global search status & fixes #118 by @bezhanSalleh in https://github.com/bezhanSalleh/filament-shield/pull/119

    Full Changelog: https://github.com/bezhanSalleh/filament-shield/compare/2.2.3...2.2.4

    Source code(tar.gz)
    Source code(zip)
  • 2.2.3(Sep 3, 2022)

    What's Changed

    • adds shield:seeder new command by @bezhanSalleh in https://github.com/bezhanSalleh/filament-shield/pull/115

    Full Changelog: https://github.com/bezhanSalleh/filament-shield/compare/2.2.2...2.2.3

    Source code(tar.gz)
    Source code(zip)
  • 2.2.2(Sep 3, 2022)

    What's Changed

    • fixes #110 by @bezhanSalleh in https://github.com/bezhanSalleh/filament-shield/pull/112
    • Updates filament-shield.php FA translations. by @fsamapoor in https://github.com/bezhanSalleh/filament-shield/pull/111

    New Contributors

    • @fsamapoor made their first contribution in https://github.com/bezhanSalleh/filament-shield/pull/111

    Full Changelog: https://github.com/bezhanSalleh/filament-shield/compare/2.2.1...2.2.2

    Source code(tar.gz)
    Source code(zip)
  • 2.2.1(Aug 28, 2022)

    What's Changed

    • Fixes #108 auth provider policy generation by @bezhanSalleh in https://github.com/bezhanSalleh/filament-shield/pull/109

    Full Changelog: https://github.com/bezhanSalleh/filament-shield/compare/2.2.0...2.2.1

    Source code(tar.gz)
    Source code(zip)
  • 2.2.0(Aug 27, 2022)

    What's Changed

    • adds new features to shield by @bezhanSalleh in https://github.com/bezhanSalleh/filament-shield/pull/107
      • adds the ability to define super-admin via gate
      • new options for shield:generate
        • --all Generate permissions/policies for all entities
        • --option[=OPTION] Override the config generator option(policies_and_permissions,policies,permissions)
        • --resource[=RESOURCE] One or many resources separated by comma (,)
        • --page[=PAGE] One or many pages separated by comma (,)
        • --widget[=WIDGET] One or many widgets separated by comma (,)
        • --exclude Exclude the given entities during generation
        • --ignore-config-exclude Ignore config exclude option during generation
      • new option for shield:install
        • --only Only setups shield without generating permissions and creating super-admin
      • redefined the purpose of filament_user role, not attaching permissions anymore
    • Improve Command Section of README by @intrepidws in https://github.com/bezhanSalleh/filament-shield/pull/102
    • Update README.md by @atmonshi in https://github.com/bezhanSalleh/filament-shield/pull/106

    Full Changelog: https://github.com/bezhanSalleh/filament-shield/compare/2.1.3...2.2.0

    Source code(tar.gz)
    Source code(zip)
  • 2.1.3(Aug 9, 2022)

    What's Changed

    • fixes #100 by @bezhanSalleh in https://github.com/bezhanSalleh/filament-shield/pull/101

    Full Changelog: https://github.com/bezhanSalleh/filament-shield/compare/2.1.2...2.1.3

    Source code(tar.gz)
    Source code(zip)
  • 2.1.2(Aug 8, 2022)

    What's Changed

    • Config option to easily turn off navigation group by @intrepidws in https://github.com/bezhanSalleh/filament-shield/pull/94
    • Add flag to shield:generate to override generator.option config value by @intrepidws in https://github.com/bezhanSalleh/filament-shield/pull/95
    • Fix small typo by @eugenevdm in https://github.com/bezhanSalleh/filament-shield/pull/97

    New Contributors

    • @eugenevdm made their first contribution in https://github.com/bezhanSalleh/filament-shield/pull/97

    Full Changelog: https://github.com/bezhanSalleh/filament-shield/compare/2.1.1...2.1.2

    Source code(tar.gz)
    Source code(zip)
  • 2.1.1(Aug 3, 2022)

    What's Changed

    • fix entity's state @bezhanSalleh in https://github.com/bezhanSalleh/filament-shield/commit/6a3008d0a47c9abdea3e0b4abfbbf6d2d50d73f6
    • Remove dump by @NathanaelGT in https://github.com/bezhanSalleh/filament-shield/pull/88
    • Spanish translation update by @pathros in https://github.com/bezhanSalleh/filament-shield/pull/89
    • remove has Views by @atmonshi in https://github.com/bezhanSalleh/filament-shield/pull/90

    New Contributors

    • @NathanaelGT made their first contribution in https://github.com/bezhanSalleh/filament-shield/pull/88
    • @atmonshi made their first contribution in https://github.com/bezhanSalleh/filament-shield/pull/90

    Full Changelog: https://github.com/bezhanSalleh/filament-shield/compare/v2.1.0...2.1.1

    Source code(tar.gz)
    Source code(zip)
  • v2.1.0(Jul 28, 2022)

    What's Changed

    • New upgrade command
    • Removed Setting page
    • Added new config key for RoleResource badge
    • Filament reorder policy method & permission generation
    • Can generate Policies for third-party packages
    • removed extra keys from lang files

    Full Changelog: https://github.com/bezhanSalleh/filament-shield/compare/v2.0.8...v2.1.0

    Source code(tar.gz)
    Source code(zip)
  • v2.0.8(Jul 28, 2022)

    What's Changed

    • New upgrade command
    • Removed Setting page
    • Add new config key for RoleResource badge
    • removed extra keys from lang files
    • Allow user option for shield:super-admin command by @intrepidws in https://github.com/bezhanSalleh/filament-shield/pull/85

    New Contributors

    • @intrepidws made their first contribution in https://github.com/bezhanSalleh/filament-shield/pull/85

    Full Changelog: https://github.com/bezhanSalleh/filament-shield/compare/v2.0.7...v2.0.8

    Source code(tar.gz)
    Source code(zip)
  • v2.0.7(Jul 28, 2022)

  • v2.0.6(Jul 28, 2022)

    • added the reorder policy method and permission_prefix
    • fixes the setting db check Full Changelog: https://github.com/bezhanSalleh/filament-shield/compare/v2.0.5...v2.0.6
    Source code(tar.gz)
    Source code(zip)
  • v2.0.5(Jul 25, 2022)

    What's Changed

    • New command shield:doctor
    • Configure Settings driver file|database via Confing
    • Added the option to Enable/Disable Setting GUI's accessibility via Config
    • Make Auth Provider configurable for policy generation via Config
      • Amends PR #64
    • Make policy and permission generators respect Resource Model's Namespace
    • Make Auth Provider configurable for policy generation via GUI
    • Configure Settings driver file|database via Settings GUI
    • Added the option to Enable/Disable Setting GUI's accessibility via Settings GUI
    • Make RoleResource options configuratble via GUI and Config
      • Navigation Sort
      • Slug
    • Add more checks for shield:doctor
    • Move Resource Setting page to dedicate filament page

    by @bezhanSalleh in https://github.com/bezhanSalleh/filament-shield/pull/69

    Full Changelog: https://github.com/bezhanSalleh/filament-shield/compare/v2.0.4...v2.0.5

    Source code(tar.gz)
    Source code(zip)
  • v2.0.4(Jul 21, 2022)

  • v2.0.3(Jul 21, 2022)

  • v2.0.2(Jul 21, 2022)

  • v2.0.1(Jul 19, 2022)

    What's Changed

    • fixes resource name issue by @bezhanSalleh in https://github.com/bezhanSalleh/filament-shield/pull/67
    • [Fr] Translate new phrases by @nicolasbaud in https://github.com/bezhanSalleh/filament-shield/pull/66
    • Update translations by @pxlrbt in https://github.com/bezhanSalleh/filament-shield/pull/65

    New Contributors

    • @nicolasbaud made their first contribution in https://github.com/bezhanSalleh/filament-shield/pull/66
    • @pxlrbt made their first contribution in https://github.com/bezhanSalleh/filament-shield/pull/65

    Full Changelog: https://github.com/bezhanSalleh/filament-shield/compare/v2.0.0...v2.0.1

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0(Jul 18, 2022)

    What's Changed

    • 2.x by @bezhanSalleh in https://github.com/bezhanSalleh/filament-shield/pull/61

      • Follow filament plugin standards
      • Add Setting Model (DB)
      • Generate config dynamically from setting model
      • Remove Config file
      • Follow new Filament Actions
      • Make default permissions translatable
      • Add ability to Load default settings from DB
      • Remove shield:publish command
      • Remove RoleResource stubs
    • Italian Translation by @slamservice in https://github.com/bezhanSalleh/filament-shield/pull/50

    • Bump dependabot/fetch-metadata from 1.3.1 to 1.3.3 by @dependabot in https://github.com/bezhanSalleh/filament-shield/pull/55

    • support Windows installation by @hadyfayed in https://github.com/bezhanSalleh/filament-shield/pull/54

    • add Support for windows installation by @hadyfayed in https://github.com/bezhanSalleh/filament-shield/pull/53

    New Contributors

    • @slamservice made their first contribution in https://github.com/bezhanSalleh/filament-shield/pull/50
    • @hadyfayed made their first contribution in https://github.com/bezhanSalleh/filament-shield/pull/54

    Full Changelog: https://github.com/bezhanSalleh/filament-shield/compare/v1.1.12...v2.0.0

    Source code(tar.gz)
    Source code(zip)
  • v1.1.12(May 19, 2022)

    What's Changed

    • Bump dependabot/fetch-metadata from 1.3.0 to 1.3.1 by @dependabot in https://github.com/bezhanSalleh/filament-shield/pull/36
    • Dutch translations #44 by @sten in https://github.com/bezhanSalleh/filament-shield/pull/45
    • add german (de) translations by @simonbuehler in https://github.com/bezhanSalleh/filament-shield/pull/32
    • Feature: Uses booted instead of the mount lifecycle method in the HasPageShield trait. by @oyepez003 in https://github.com/bezhanSalleh/filament-shield/pull/43

    New Contributors

    • @sten made their first contribution in https://github.com/bezhanSalleh/filament-shield/pull/45
    • @simonbuehler made their first contribution in https://github.com/bezhanSalleh/filament-shield/pull/32
    • @oyepez003 made their first contribution in https://github.com/bezhanSalleh/filament-shield/pull/43

    Full Changelog: https://github.com/bezhanSalleh/filament-shield/compare/v1.1.11...v1.1.12

    Source code(tar.gz)
    Source code(zip)
  • v1.1.11(Mar 24, 2022)

    What's Changed

    • makes the resources generator option configurable by @bezhanSalleh in https://github.com/bezhanSalleh/filament-shield/pull/31

    New Contributors

    • @bezhanSalleh made their first contribution in https://github.com/bezhanSalleh/filament-shield/pull/31

    Full Changelog: https://github.com/bezhanSalleh/filament-shield/compare/v1.1.10...v1.1.11

    Source code(tar.gz)
    Source code(zip)
  • v1.1.10(Mar 13, 2022)

    What's Changed

    • fixed settings page authorization
    • Bump dependabot/fetch-metadata from 1.2.1 to 1.3.0 by @dependabot in https://github.com/bezhanSalleh/filament-shield/pull/27
    • directory seperator fix by @alperenersoy in https://github.com/bezhanSalleh/filament-shield/pull/26
    • Bump actions/checkout from 2 to 3 by @dependabot in https://github.com/bezhanSalleh/filament-shield/pull/28

    New Contributors

    • @alperenersoy made their first contribution in https://github.com/bezhanSalleh/filament-shield/pull/26

    Full Changelog: https://github.com/bezhanSalleh/filament-shield/compare/v1.1.9...v1.1.10

    Source code(tar.gz)
    Source code(zip)
  • v1.1.9(Mar 3, 2022)

Owner
Bezhan Salleh
Application Developer
Bezhan Salleh
User role and Permission Management system with Paticie package

User role and Permission Management system with Paticie package Installation instruction Download or git clone https://github.com/KKOO727/User-role-ma

Ninja 2 Mar 4, 2022
A user, group, role and permission management for Codeigniter 4

CI4-Auth CI4-Auth is a user, group, role and permission management library for Codeigniter 4. CI4-Auth is based on the great Myth-Auth library for Cod

George Lewe 15 Dec 16, 2022
Yet another asynchronous permission management plugin for PocketMine-MP.

GroupsAPI Yet another asynchronous permission management plugin for PocketMine-MP. Features Developer-friendly API Temporary rank/group support Multip

null 19 Nov 28, 2022
permission generation for all your declared routes with corresponding controller action

Permissions Generator This package add some artisan command to help generating permissions for your declared routes. Each route should have an alias (

Diagana Mouhamed Fadel 4 Nov 30, 2022
Middleware to generate access logs for each request using the Apache's access log format

Middleware to generate access logs for each request using the Apache's access log format. This middleware requires a Psr log implementation, for example monolog.

Middlewares 20 Jun 23, 2022
An authorization library that supports access control models like ACL, RBAC, ABAC in Laravel.

Laravel Authorization Laravel-authz is an authorization library for the laravel framework. It's based on Casbin, an authorization library that support

PHP-Casbin 243 Jan 4, 2023
This package helps you to associate users with permissions and permission groups with laravel framework

Laravel ACL This package allows you to manage user permissions and groups in a database, and is compatible with Laravel v5.8 or higher. Please check t

Mateus Junges 537 Dec 28, 2022
An authorization library that supports access control models like ACL, RBAC, ABAC in PHP .

PHP-Casbin Documentation | Tutorials | Extensions Breaking News: Laravel-authz is now available, an authorization library for the Laravel framework. P

PHP-Casbin 1.1k Dec 14, 2022
An authorization library that supports access control models like ACL, RBAC, ABAC for webman plugin

An authorization library that supports access control models like ACL, RBAC, ABAC for webman plugin

PHP-Casbin 18 Dec 30, 2022
Tools for checking malware, permission of file php and any on website

webtools Tools for checking malware, permission of file php and any on website You can use the webtools.php file directly. All features can be accesse

ForDeveloperTools 3 Jun 14, 2022
Hierarchical Rol-Permission Based Laravel Auth Package with Limitless Hierarchical Level of Organizations

AAuth for Laravel Hierarchical Rol-Permission Based Laravel Auth Package with Limitless Hierarchical Level of Organizations Features Organization Base

Aurora Web Software Team 23 Dec 27, 2022
Nginx FastCGI Fix Permission

Nginx FastCGI Fix Permission Table of Contents About How it works Installation Changelog Contributing License About This library was born with the obj

Ejetar 3 Mar 14, 2022
Laravel fortify ve spatie permissions eklentileri üzerine geliştirilmiş kullanıma hazır panel

Herkobi Panel Laravel ile yeni bir projeye başlayacak kişiler için Laravel Fortify üzerine geliştirdiğimiz arayüze (https://github.com/bulentsakarya/l

Herkobi 10 Jun 15, 2023
Tech-Admin is Laravel + Bootstrap Admin Panel With User Management And Access Control based on Roles and Permissions.

Tech-Admin | Laravel 8 + Bootstrap 4 Tech-Admin is Admin Panel With Preset of Roles, Permissions, ACL, User Management, Profile Management. Features M

TechTool India 39 Dec 23, 2022
A wrapper around Spatie’s Browsershot for managing social share images (OGP, Twitter etc.)

Very short description of the package This package allows you to create dynamic social sharing images in your Laravel apps. It uses Spatie’s Browsersh

Richard Le Poidevin 4 Dec 25, 2021
Symfony bundle which provides OAuth 2.0 authorization/resource server capabilities

Symfony bundle which provides OAuth 2.0 authorization/resource server capabilities. The authorization and resource server actors are implemented using the thephpleague/oauth2-server library.

Trikoder 253 Dec 21, 2022
Limit access to your Laravel applications by using invite codes

Doorman Doorman provides a way to limit access to your Laravel applications by using invite codes. Invite Codes: Can be tied to a specific email addre

Ashley Clarke 964 Dec 31, 2022
Dynamic ACL is a package that handles Access Control Level on your Laravel Application.

Dynamic ACL Dynamic ACL is a package that handles Access Control Level on your Laravel Application. It's fast to running and simple to use. Install an

yasin 8 Jul 31, 2022
The most popular PHP library for use with the Twitter OAuth REST API.

TwitterOAuth The most popular PHP library for Twitter's OAuth REST API. See documentation at https://twitteroauth.com. PHP versions listed as "active

Abraham Williams 4.2k Dec 23, 2022