تحتاج معظم المشاريع المتوسطة / الكبيرة إلى وظائف المستخدمين ، لذلك نقدم لك الطريقة السهلة.
يمكنك إنشاء وظيفة متعدد اللغات ، ويمكنك استخدام الطريقة التي تفضلها.
1use Pharaonic\Laravel\Users\Models\Roles\Role; 2 3// Code (string) 4// Title (string or array) 5// Permissions (array of permissions codes) 6// Locale (string) (only with string title) 7 8// Way 1 9Role::set('admin', 'Administrator');10 11// Way 212Role::set('admin', 'Administrator', [], 'en');13 14// Way 315Role::set('admin', [16 'ar' => ['title' => 'إداري'],17 'en' => ['title' => 'Administrator']18], ['post.create', 'post.update', 'post.delete']);
إضافة صلاحيات إلى الوظيفة.
1use Pharaonic\Laravel\Users\Models\Roles\Role;2 3$role = Role::findByCode('admin');4$role->permit('post.create', 'post.edit', 'post.delete');
هذه هي الطريقة التي يمكنك بها تضمين الوظيفة في Model المستخدم الخاص بك.
1namespace App\Models;2 3use Pharaonic\Laravel\Users\Traits\HasRoles; 4 5class User extends Authenticatable6{7 use HasRoles; 8}
منح المستخدم وظيفة واحدة أو أكثر.
1$user->entrust('DevOps', 'Developer');2// Returns Boolean
تحقق مما إذا كان المستخدم لديه كل هذه الوظائف.
1$user->entrusted('DevOps');2// Returns Boolean
تحقق مما إذا كان المستخدم لديه أحد هذه الوظائف.
1$user->entrustedAny(['Developer', 'Musician']);2// Returns Boolean
عدم الثقة في المستخدم من تولي هذه الوظائف.
1$user->distrust('Musician');2// Returns Boolean
تحقق مما إذا كان المستخدم ليس لديه كل هذه الوظائف.
1$user->distrusted(['CEO', 'CFO']);2// Returns Boolean
تحقق مما إذا كان المستخدم ليس لديه أحد هذه الوظائف.
1$user->distrustedAny(['CEO', 'CFO', 'Musician']);2// Returns Boolean
امسح كل وظائف المستخدم وامنحه هذه القائمة.
1$user->syncRoles('CEO', 'Developer', 'Musician');2// Returns Boolean
يمكنك استخدام middlewares لتقييد الـ route.
1Route::middleware('entrusted:CFO')->group(...);2Route::middleware('entrustedAny:CFO,CEO')->group(...);