Professional Documents
Culture Documents
Spatie Permissions
Spatie Permissions
https://www.linkedin.com/in/sharjeel-wakeel/
LARAVEL
Spatie Permissions
https://www.linkedin.com/in/sharjeel-wakeel/
LARAVEL
Install package
WHY LARAVEL?
composer require spatie/laravel-permission
sharjeelwakeel837@gmail.com
https://www.linkedin.com/in/sharjeel-wakeel/
LARAVEL
In config/app.php, add
WHY
the LARAVEL?
ServiceProvider
'providers' => [
Spatie\Permission\PermissionServiceProvider::class,
];
sharjeelwakeel837@gmail.com
https://www.linkedin.com/in/sharjeel-wakeel/
LARAVEL
sharjeelwakeel837@gmail.com
https://www.linkedin.com/in/sharjeel-wakeel/
LARAVEL
sharjeelwakeel837@gmail.com
https://www.linkedin.com/in/sharjeel-wakeel/
LARAVEL
use Spatie\Permission\Traits\HasRoles;
sharjeelwakeel837@gmail.com
use HasRoles;
https://www.linkedin.com/in/sharjeel-wakeel/
LARAVEL
Create Permissions
use Spatie\Permission\Models\Role;
WHY LARAVEL?
use Spatie\Permission\Models\Permission;
$permission =sharjeelwakeel837@gmail.com
Permission::create(['name' => 'edit
articles']);
https://www.linkedin.com/in/sharjeel-wakeel/
LARAVEL
Assign A Permission To A
Role
WHY LARAVEL?
$role->givePermissionTo($permission);
$permission->assignRole($role);
sharjeelwakeel837@gmail.com
https://www.linkedin.com/in/sharjeel-wakeel/
LARAVEL
$role->syncPermissions($permissions);
$permission->syncRoles($roles);
sharjeelwakeel837@gmail.com
https://www.linkedin.com/in/sharjeel-wakeel/
LARAVEL
$role->revokePermissionTo($permission);
$permission->removeRole($role);
sharjeelwakeel837@gmail.com
https://www.linkedin.com/in/sharjeel-wakeel/
LARAVEL
WHY LARAVEL?
$permissions = $user->permissions;
Middlewares
WHY LARAVEL?
sharjeelwakeel837@gmail.com
https://www.linkedin.com/in/sharjeel-wakeel/
LARAVEL
sharjeelwakeel837@gmail.com
//});
https://www.linkedin.com/in/sharjeel-wakeel/
LARAVEL
your app/Http/Kernel.php
file
https://www.linkedin.com/in/sharjeel-wakeel/
LARAVEL
https://www.linkedin.com/in/sharjeel-wakeel/
LARAVEL
LARAVEL 10
protected $middlewareAliases =
[
'role' =>
WHY LARAVEL?
\Spatie\Permission\Middlewares\RoleMiddleware:
:class,
'permission' =>
\Spatie\Permission\Middlewares\PermissionMiddl
eware::class,
'role_or_permission' =>
sharjeelwakeel837@gmail.com
\Spatie\Permission\Middlewares\RoleOrPermissio
nMiddleware::class
,];
https://www.linkedin.com/in/sharjeel-wakeel/
LARAVEL
https://www.linkedin.com/in/sharjeel-wakeel/
LARAVEL
https://www.linkedin.com/in/sharjeel-wakeel/
LARAVEL
WHYBlade
LARAVEL?
sharjeelwakeel837@gmail.com
https://www.linkedin.com/in/sharjeel-wakeel/
LARAVEL
Permissions
@can('edit articles') //@endcan
Roles
WHY LARAVEL?
@role('writer')
I am a writer
!@else
I am not a writer...
@endrolesharjeelwakeel837@gmail.com
https://www.linkedin.com/in/sharjeel-wakeel/