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

Phone

+20 115 052 9992

Email

contact@ibrahimahmed.online

Website

https://ibrahimahmed.online/

Social Links

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

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

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

كل حاجة عن 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

May 23, 2025 • 1 min read
FlyEnv - أداة إدارة بيئة تطوير متكاملة للمطورين

FlyEnv هي أداة شاملة لإدارة بيئات التطوير، بتسهل على المطورين التعامل مع إصدارات متعددة من لغات البر...

Apr 28, 2025 • 1 min read
فهم نمط الـ Repository في Laravel: دليل شامل

تعلم كل ما تحتاج معرفته عن نمط الـ Repository في Laravel. هذا الدليل يشرح كيفية تنفيذه بفعالية، مميز...

Mar 28, 2025 • 1 min read
اجعل Laravel يقوم بـ Git Pull تلقائيًا بعد كل Push في GitHub باستخدام Webhook – بدون تدخل يدوي! 🚀

هل تعبت من الدخول إلى السيرفر كل مرة لتحديث الكود بعد git push؟ 🤦‍♂️ في هذا المقال، ستتعلم كيف تجعل...