Comments (5)
in order to enforce those permission, you need to generate the policies and if the policies are for a plugin that provides resourcefull model then you need to register it in the authservice provider.
from filament-shield.
in order to enforce those permission, you need to generate the policies and if the policies are for a plugin that provides resourcefull model then you need to register it in the authservice provider.
Thanks! I did it. However, it's not quite exactly as what the docs say. May it be due to version upgrade of Shield?
After running php artisan shield:generate --resource=user
, there's RolePolicy.php
only in app/Policies
. Does it suppose to generate app/Policies/UserPolicy.php
?
So I added 'App\Models\User' => 'App\Policies\RolePolicy',
in the AuthServiceProvider accordingly. If I need to generate policies for more resourceful models, does it overwrite or append to 'app\Policies\RolePolicy'?
from filament-shield.
please read the following on how policies work.
The shield doc for policies and generate command and then
https://laravel.com/docs/10.x/authorization#creating-policies
from filament-shield.
tomatophp/filament-users
Thanks for you reply! Let me break down my questions.
As you mentioned Laravel native policy, app/Policy/UserPolicy.php
is generated by running php artisan make:policy UserPolicy
. After reading through the Shield doc multiple times, I think the equivalent command is
php artisan shield:generate --resource=User
Is it correct?
Unlike Laravel native command for policy generation, there's no app/Policy/UserPolicy.php
after running the shield:generate
command, even it returns successful message as follow.
INFO Successfully generated Permissions & Policies for:
+---+----------+--------+-------------+
| # | Resource | Policy | Permissions |
+---+----------+--------+-------------+
INFO Permission & Policies are generated according to your config or passed options.
INFO Enjoy!
Without knowing the name of the newly-generated Shield policy, I don't know how to correctly apply it in the AuthServiceProvider.
BTW, the package tomatophp/filament-users
doesn't have its own model, but using the default user model at app/Model/User.php
.
from filament-shield.
The equivalent command is:
php artisan shield:generate --resource=UserResource
from filament-shield.
Related Issues (20)
- Documentation Update for Laravel 11 - Custom folder structure for Models or Third-Party Plugins HOT 1
- Role Resource is accessible for everyone HOT 7
- Svg by name "filament-shield::filament-shield.nav.role.icon" from set "default" not found. HOT 1
- Model with two words has unexpected permission name HOT 1
- Error when editing / creating roles
- super_admin role generation
- Role Resource is accessible for everyone HOT 4
- Edit Role doesn't populate role name HOT 1
- cannot create or edit role HOT 1
- Error expect string but object given when editing role HOT 1
- When using github action to test, the project trait HasPanelShield try to assign role to user in step of php artisan key:generate HOT 1
- Generating all policies for a specific panel HOT 2
- Support Multitenancy HOT 3
- Error when creating/editing role HOT 1
- Error on create_permissions_table migration HOT 1
- 3rd party pages workaround suggestion
- Resoures in the sub folders accessable by everyone HOT 1
- Seeking Guidance: Centralized Role and Permission Management
- Not worked in nested resources
- Does this prevent POST to a form on a page?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from filament-shield.