فرعوني
جاري التحميل...

إصدارة قديم

تحذير : أنت تتصفح وثائق تخص إصدارة سابق من Users. ضع في اعتبارك ترقية مشروعك إلى 2.x

# الصلاحيات

تحتاج معظم المشاريع المتوسطة / الكبيرة إلى صلاحيات المستخدمين لذلك نوفر لك الطريقة السهلة.

# الإنشاء

يمكنك إنشاء صلاحية متعددة اللغات ، يمكنك استخدام الطريقة التي تفضلها.

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 3
10Permission::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 Authenticatable
6{
7 use HasPermissions;
8}

# permit

منح المستخدم صلاحية واحدة أو أكثر.

1$user->permit('post.create', 'post.edit');
2// Returns Boolean

# permitted

تحقق مما إذا كان المستخدم لديه كل هذه الصلاحيات.

1$user->permitted(['post.create', 'post.delete']);
2// Returns Boolean

# permittedAny

تحقق مما إذا كان المستخدم لديه أحد هذه الصلاحيات.

1$user->permittedAny(['post.create', 'post.delete']);
2// Returns Boolean

# forbid

منع المستخدم من الحصول على هذه الصلاحيات.

1$user->forbid('post.edit', 'post.view');
2// Returns Boolean

# forbad

تحقق مما إذا كان المستخدم ليس لديه كل هذه الصلاحيات.

1$user->forbad(['post.create', 'post.delete']);
2// Returns Boolean

# forbadAny

تحقق مما إذا كان المستخدم ليس لديه أحد هذه الصلاحيات.

1$user->forbadAny(['post.create', 'post.delete']);
2// Returns Boolean

# syncPermissions

امسح جميع صلاحيات المستخدم ومنحه هذه القائمة.

1$user->syncPermissions('post.*', 'article.*');
2// Returns Boolean

# Middleware

يمكنك استخدام middlewares لتقييد الـ route.

1Route::middleware('permitted:post.create,post.edit')->group(...);
2Route::middleware('permittedAny:post.create,post.edit')->group(...);

# العلاقات

  • permissions

# الصفات

  • permissionsList

# توجيهات Blade

  • permitted
  • permittedAny
  • forbad
  • forbadAny