I'm always excited to take on new projects and collaborate with innovative minds.

Phone

+20 115 052 9992

Website

https://ibrahimahmed.online/

Social Links

كل حاجة عن Zizaco Entrust لإدارة الصلاحيات في Laravel – دليل شامل للمبتدئين

Zizaco Entrust هو حزمة (Package) قوية لـ Laravel بتسهل إدارة الأدوار (Roles) والصلاحيات (Permissions)، وده بيساعد في تطبيق تحكم دقيق في الوصول للمستخدمين داخل التطبيق بتاعك. في المقال ده، هنشرح كل حاجة عن Zizaco Entrust من البداية، ازاي تثبته، وتستخد...

كل حاجة عن Zizaco Entrust لإدارة الصلاحيات في Laravel – دليل شامل للمبتدئين
Reading Count: 359

كل حاجة عن Zizaco Entrust لإدارة الصلاحيات في Laravel – دليل شامل للمبتدئين

Zizaco Entrust هو حزمة قوية لـ Laravel بتسهل إدارة الأدوار (Roles) والصلاحيات (Permissions)، وده بيساعد في تطبيق تحكم دقيق في الوصول للمستخدمين داخل التطبيق بتاعك. في المقال ده، هنشرح كل حاجة عن Zizaco Entrust من البداية، ازاي تثبته، وتستخدمه خطوة بخطوة، مع أمثلة عملية توضح طريقة العمل.

المتطلبات اللازمة قبل التثبيت

إصدار PHP: لازم يكون 7.2 أو أعلى.

امتدادات PHP المطلوبة: لازم يكون عندك PDO و OpenSSL مفعّلين.

طريقة تثبيت Zizaco Entrust في Laravel

🔹 الخطوة 1: افتح مشروع Laravel في سطر الأوامر

cd path-to-your-laravel-project

🔹 الخطوة 2: تثبيت الحزمة باستخدام Composer

composer require zizaco/entrust

🔹 الخطوة 3: إضافة مزوّد الخدمة والـ Facade


'providers' => [
    Zizaco\Entrust\EntrustServiceProvider::class,
],
'aliases' => [
    'Entrust' => Zizaco\Entrust\EntrustFacade::class,
],
    

🔹 الخطوة 4: نشر ملف الإعدادات

php artisan vendor:publish --provider="Zizaco\Entrust\EntrustServiceProvider"

🔹 الخطوة 5: تشغيل الـ Migrations لإنشاء الجداول

php artisan migrate

كيفية استخدام Zizaco Entrust في Laravel

🔹 إنشاء الأدوار (Roles)


use App\Models\Role;
$adminRole = Role::create(['name' => 'admin']);
$editorRole = Role::create(['name' => 'editor']);
    

🔹 إنشاء الصلاحيات (Permissions)


use App\Models\Permission;
$createPostPermission = Permission::create(['name' => 'create-post']);
$editPostPermission = Permission::create(['name' => 'edit-post']);
    

🔹 ربط الصلاحيات بالأدوار


$adminRole->attachPermissions([$createPostPermission, $editPostPermission]);
$editorRole->attachPermissions([$editPostPermission]);
    

🔹 إسناد دور إلى مستخدم


use App\Models\User;
$user = User::find(1);
$user->attachRole($adminRole);
    

كيفية التحقق من صلاحيات المستخدم

🔹 داخل الكود


if ($user->can('create-post')) {
    echo "المستخدم يقدر ينشئ مقالات!";
} else {
    echo "المستخدم لا يملك صلاحية لإنشاء المقالات.";
}
    

🔹 داخل الـ Blade Templates


@role('admin')
    هذا النص يظهر فقط للمستخدمين اللي عندهم دور الأدمن.
@endrole

@permission('edit-post')
    هذا النص يظهر فقط للمستخدمين اللي عندهم صلاحية تعديل المقالات.
@endpermission
    

🔹 حماية الروابط باستخدام Middleware


Route::group(['middleware' => ['role:admin']], function () {
    Route::get('/admin/dashboard', function () {
        return view('admin.dashboard');
    });
});
    

🔚 

حزمة Zizaco Entrust من أقوى الأدوات اللي بتساعد في إدارة الأدوار والصلاحيات في Laravel، وبتسهل عملية التحكم في وصول المستخدمين للمحتوى. لو تبعت الخطوات اللي في المقال، هتقدر تطبّق نظام صلاحيات قوي في مشروعك بكل سهولة.

🔥 دلوقتي دورك! جرب تطبق الشرح


Share

Related posts

Aug 11, 2026 • 1 min read
Reading Count: 5
توثيق الـ APIs باستخدام AsyncAPI للخدمات التي تعتمد على الـ Events

يا هلا بيك يا بشمهندس! فكر معايا كده، كام مرة اشتغلت على مشروع فيه خدمات بتكلم بعضها في الخلفية (Bac...

Aug 11, 2026 • 1 min read
Reading Count: 8
تأمين الـ APIs في بيئات الـ Microservices باستخدام mTLS

أهلاً بيك يا صديقي المبرمج في مقال جديد من سلسلة شروحات هندسة البرمجيات وتطوير الويب (Web Developmen...

Aug 11, 2026 • 1 min read
Reading Count: 8
بناء نظام إشعارات يعتمد على Server-Sent Events (SSE) كبديل للـ WebSockets

يا هلا بيك يا بشمهندس في مقال تقني جديد. خلينا نبدأ كلامنا بسؤال واقعي: كم مرة طلبت منك إدارة المنتج...