Mahmoud Alrashidi نشر 15 فبراير 2021 أرسل تقرير نشر 15 فبراير 2021 ماهي المصادقة المُتعددة في laravel و كيف يُمكن تطبيقها 1 اقتباس
0 Sam Ahw نشر 15 فبراير 2021 أرسل تقرير نشر 15 فبراير 2021 تعد المصادقة المتعددة مهمة جدًا إذا كنت تعمل على تطبيق ويب كبير الحجم، فتمكنك من استخدام صلاحيات مختلفة تابعة لجداول مختلفة للمستخدمين مثل جدول "المستخدمين" لتسجيل مستخدم الموقع وجدول "المشرفين" للمستخدم المسؤول أو للدخول إلى لوحة التحكم على سبيل المثال. وبهذه الطريقة توفر أمانًا وقوةً حيث يمكنك الفصل بين المستخدمين وإعطاء صلاحيات وصول مختلفة لكل نوع. مثال عن تطبيقها: أولاً نقوم بإنشاء مصادقة في حال لم تكن موجودة كالتالي: php artisan make:auth نقوم بإنشاء مودل للمدراء كالتالي، ونقوم بملء الحقول اللازمة ضمنه: php artisan make:model Admin ثم نقوم بإنشاء المتحكم الخاص بالمدراء: php artisan make:controller AdminController class AdminController extends Controller { public function __construct() { $this->middleware('auth:admin'); } public function index() { return view('admin'); } } ونلاحظ هنا أنه تم استخدام middleware وهو admin، ولكن لمستخدمي الموقع يجب أن نستخدم مصادقة أخرى، حيث لا يجب على المستخدمين العاديين الدخول إلى لوحة التحكم للموقع، فنقوم أولاً بمعالجة عملية المصادقة وتسجيل الدخول للمدراء عن طريق إنشاء متحكّم خاص بذلك كالتالي: php artisan make:controller Auth/AdminLoginController أما للمستخدمين العاديين فسيتم التحقق والمصادقة بشكل منفصل كالتالي: public function showLoginForm() { return view('auth.login'); } وأخيراً لا ننسى تعديل ملف config/auth.php وإضافة الجزئية الخاصة بمصادقة المدراء كالتالي: //المصادقة الافتراضية 'defaults' => [ 'guard' => 'web', 'passwords' => 'users', ], //مصادقة المدراء أو المشرفين التي قمنا بإنشائها 'admins' => [ 'driver' => 'eloquent', 'model' => App\Admin::class, ], // // 'guards' => [ 'web' => [ 'driver' => 'session', 'provider' => 'users', ], 'admin' => [ 'driver' => 'session', 'provider' => 'admins', ], ], // // 'providers' => [ 'users' => [ 'driver' => 'eloquent', 'model' => App\User::class, ], 'admins' => [ 'driver' => 'eloquent', 'model' => App\Admin::class, ], ], // وهنا يمكننا ملاحظة أنه تمكّنا من فصل كيان المستخدم المدير عن كيان المستخدم العادي، عن طريق استخدام جدولين مختلفين في قاعدة البيانات واستخدام guard مختلف وجلسات مختلفة لكل منهما. وبنفس الطريقة يمكن إضافة نوع جديد آخر ينتمى أيضاً لجدول آخر في قاعدة البيانات وله صلاحيات وصول مختلفة. 2 اقتباس
السؤال
Mahmoud Alrashidi
ماهي المصادقة المُتعددة في laravel و كيف يُمكن تطبيقها
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.