تحتاج معظم المشاريع المتوسطة / الكبيرة إلى صلاحيات المستخدمين لذلك نوفر لك الطريقة السهلة.
يمكنك إنشاء صلاحية متعددة اللغات ، يمكنك استخدام الطريقة التي تفضلها.
1use Pharaonic\Laravel\Users\Models\Permissions\Permission; 2 3// Way 1 4Permission::create('post.create', 'Create a new post'); 5 6// Way 2 7Permission::create('post.create', 'Create a new post', 'en'); 8 9// Way 310Permission::create('post.create', [11 'ar' => 'إنشاء منشور جديد',12 'en' => 'Create a new post'13]);
ذه هي الطريقة التي يمكنك بها تضمين الصلاحية في Model المستخدم.
1namespace App\Models;2 3use Pharaonic\Laravel\Users\Traits\HasPermissions; 4 5class User extends Authenticatable6{7 use HasPermissions; 8}
منح المستخدم صلاحية واحدة أو أكثر.
1$user->permit('post.create', 'post.edit');2// Returns Boolean
تحقق مما إذا كان المستخدم لديه كل هذه الصلاحيات.
1$user->permitted(['post.create', 'post.delete']);2// Returns Boolean
تحقق مما إذا كان المستخدم لديه أحد هذه الصلاحيات.
1$user->permittedAny(['post.create', 'post.delete']);2// Returns Boolean
منع المستخدم من الحصول على هذه الصلاحيات.
1$user->forbid('post.edit', 'post.view');2// Returns Boolean
تحقق مما إذا كان المستخدم ليس لديه كل هذه الصلاحيات.
1$user->forbad(['post.create', 'post.delete']);2// Returns Boolean
تحقق مما إذا كان المستخدم ليس لديه أحد هذه الصلاحيات.
1$user->forbadAny(['post.create', 'post.delete']);2// Returns Boolean
امسح جميع صلاحيات المستخدم ومنحه هذه القائمة.
1$user->syncPermissions('post.*', 'article.*');2// Returns Boolean
يمكنك استخدام middlewares لتقييد الـ route.
1Route::middleware('permitted:post.create,post.edit')->group(...);2Route::middleware('permittedAny:post.create,post.edit')->group(...);