ايمن ميلاد نشر 30 أغسطس أرسل تقرير نشر 30 أغسطس السلام عليكم ورحمة الله وبركاته في حالة لدي اثنين مستخدمين للنظام مدير النظام وطالب في لوحة تحكم اريد مدير يظهر له كل شي طالب بعض خيارات هل افضل عملها عن طريق auth او Middleware وكيف يمكن عمل دلك 2 اقتباس
0 Mustafa Suleiman نشر 30 أغسطس أرسل تقرير نشر 30 أغسطس الأمر يتم من خلال مزيج من Authentication و Authorization. أي الـ Authentication تتأكد من هوية المستخدم الذي يحاول الوصول إلى النظام (هل هو مدير النظام أو طالب)، والـ Authorization تحدد هل المستخدم المخول له الوصول إلى مورد أو إجراء معين (مثل عرض لوحة التحكم، تعديل البيانات، إلخ). ويوجد مكتبات لتسهيل الأمر وتنفيذ المنطق الذي تريده، ستجد تفصيل هنا: اقتباس
0 عبد الوهاب بومعراف نشر 30 أغسطس أرسل تقرير نشر 30 أغسطس لتحقيق هذا النوع من التحكم في الوصول عادة نقوم باستخدام كلا من نظام التوثيق (Auth) وMiddleware يمكن استخدام نظام التوثيق لتحديد من هو المستخدم (مدير أو طالب) وعادة ما يتم ذلك عند تسجيل الدخول بعد ذلك يمكنك تخزين نوع المستخدم في الجلسة أو في التوكن. كما يمكن استخدام Middleware للتحقق من نوع المستخدم قبل الوصول إلى أجزاء معينة من التطبيق فيقوم ال Middleware بفحص إذا كان المستخدم يمتلك الصلاحيات اللازمة للوصول إلى صفحة معينة أو تنفيذ إجراء معين. سأسترسل في الطريقة عبر مثال توضيحي، أولا تقوم بإنشاء Middleware للتحقق من نوع المستخدم: php artisan make:middleware CheckRole ثم داخله نضع التالي، وفي الأخير نعيد المستخدم الذي لا يمتلك أي صلاحيات إلى الصفحة الرئيسية: public function handle($request, Closure $next, $role) { if (auth()->check() && auth()->user()->role == $role) { return $next($request); } return redirect('/home'); } الخطوة التالية هي التسجيل في Kernel من خلال تسجيل Middleware في app/Http/Kernel.php هكذا: protected $routeMiddleware = [ 'role' => \App\Http\Middleware\CheckRole::class, ]; وهذا نموذج لاسخداماته في الRoutes: Route::group(['middleware' => ['role:admin']], function () { // المسارات الخاصة بالمدير }); Route::group(['middleware' => ['role:student']], function () { // المسارات الخاصة بالطالب }); اقتباس
السؤال
ايمن ميلاد
السلام عليكم ورحمة الله وبركاته
في حالة لدي اثنين مستخدمين للنظام مدير النظام وطالب في لوحة تحكم اريد مدير يظهر له كل شي طالب بعض خيارات هل افضل عملها عن طريق auth او Middleware وكيف يمكن عمل دلك
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.