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

# الصلاحيات

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

# الإنشاء

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

1use Pharaonic\Laravel\Users\Models\Permissions\Permission;
2 
3// Code (string)
4// Title (string or array)
5// Locale (string) (only with string title)
6 
7// Way 1
8Permission::set('post.create', 'Create a new post');
9 
10// Way 2
11Permission::set('post.create', 'Create a new post', 'en');
12 
13// Way 3
14Permission::set('post.create', [
15 'ar' => ['title' => 'إنشاء منشور جديد'],
16 'en' => ['title' => 'Create a new post']
17]);

# التضمين

ذه هي الطريقة التي يمكنك بها تضمين الصلاحية في 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