Atheer Bis نشر 2 مارس أرسل تقرير نشر 2 مارس في الربط بين الصفحات كان موجود عندي هذا الامر : الان مالمقصود في الامر هذا ؟ احتاج شرح للامر الذي قبل return 2 اقتباس
0 Mustafa Suleiman نشر 2 مارس أرسل تقرير نشر 2 مارس بشكل بسيط: من المفترض أن يكون لديك رابط في أحد عروضك ينتقل إلى صفحة "admin.profile". عند النقر على هذا الرابط، سيتم تنفيذ طريقة info() في وحدة التحكم "AdminController". ستقوم طريقة info() بالحصول على المستخدم المُصادق عليه من الحارس "admin". ستقوم طريقة info() بعد ذلك بعرض "admin.profile" مع إرسال المستخدم المُصادق عليه إلى العرض. حيث أنّ auth() عبارة دالة مساعدة موجودة في Laravel تُستخدم للوصول إلى واجهة المستخدم المُصادق عليها، وguard() هي طريقة على واجهة المستخدم المُصادق عليها تُستخدم لتحديد الحارس الذي يجب استخدامه وهو "admin". أما user() هي طريقة على الحارس تُستخدم للحصول على المستخدم المُصادق عليه. والهدف هو الحصول على المستخدم المُصادق عليه من الحارس "admin" واستخدام المستخدم المُصادق عليه بعد ذلك في عرض "admin.profile". ويُفترض أن يكون لديك حارس مُسمى "admin" مُعرّف في ملف config/auth.php، ويجب أن يكون المستخدم المُصادق عليه مُسجلاً في قاعدة البيانات. 1 اقتباس
0 Atheer Bis نشر 2 مارس الكاتب أرسل تقرير نشر 2 مارس بتاريخ 13 دقائق مضت قال Mustafa Suleiman: بشكل بسيط: من المفترض أن يكون لديك رابط في أحد عروضك ينتقل إلى صفحة "admin.profile". عند النقر على هذا الرابط، سيتم تنفيذ طريقة info() في وحدة التحكم "AdminController". ستقوم طريقة info() بالحصول على المستخدم المُصادق عليه من الحارس "admin". ستقوم طريقة info() بعد ذلك بعرض "admin.profile" مع إرسال المستخدم المُصادق عليه إلى العرض. حيث أنّ auth() عبارة دالة مساعدة موجودة في Laravel تُستخدم للوصول إلى واجهة المستخدم المُصادق عليها، وguard() هي طريقة على واجهة المستخدم المُصادق عليها تُستخدم لتحديد الحارس الذي يجب استخدامه وهو "admin". أما user() هي طريقة على الحارس تُستخدم للحصول على المستخدم المُصادق عليه. والهدف هو الحصول على المستخدم المُصادق عليه من الحارس "admin" واستخدام المستخدم المُصادق عليه بعد ذلك في عرض "admin.profile". ويُفترض أن يكون لديك حارس مُسمى "admin" مُعرّف في ملف config/auth.php، ويجب أن يكون المستخدم المُصادق عليه مُسجلاً في قاعدة البيانات. لو نرجع لوراء شوي انا عندي حارس اسمه admin وموجود بقاعدة البيانات لكن وش فكرة الحارس ؟ هذي 1 اقتباس
0 Mustafa Suleiman نشر 2 مارس أرسل تقرير نشر 2 مارس من خلاله نستطيع تحديد من يمكنه الوصول إلى أجزاء مختلفة من التطبيق وبالتالي يمكن إنشاء حراس مختلفين بمستويات مختلفة من الوصول. وبالتبعية تستطيعي عرض محتوى مختلف للمستخدمين المُصادق عليهم اعتمادًا على الحارس الذي يستخدمونه. 1 اقتباس
0 Atheer Bis نشر 2 مارس الكاتب أرسل تقرير نشر 2 مارس بتاريخ 7 دقائق مضت قال Mustafa Suleiman: من خلاله نستطيع تحديد من يمكنه الوصول إلى أجزاء مختلفة من التطبيق وبالتالي يمكن إنشاء حراس مختلفين بمستويات مختلفة من الوصول. وبالتبعية تستطيعي عرض محتوى مختلف للمستخدمين المُصادق عليهم اعتمادًا على الحارس الذي يستخدمونه. ممكن تشرح لي هذي الجزئية ؟ تبع الحارس 1 اقتباس
0 ياسر مسكين نشر 2 مارس أرسل تقرير نشر 2 مارس بتاريخ 15 دقائق مضت قال Atheer Bis: لو نرجع لوراء شوي انا عندي حارس اسمه admin وموجود بقاعدة البيانات لكن وش فكرة الحارس ؟ هذي يمكن فهم كيفية عمل الحارس (Guard) وكيفية تنفيذه في قاعدة البيانات من خلال هذا المثال أين أشرح فيه الكود: مفهوم الحرّاس (Guards): في Laravel، يُعتبر الحارس جزءًا من نظام المصادقة ويُستخدم لتحديد كيفية مصادقة المستخدمين. فمثلا في الكود الذي قدمته، لديك حارسين: 'web': يستخدم لمستخدمي الويب العاديين. 'admin': يستخدم لمستخدمي الإدارة. كل حارس يحتوي على موفر لعملية المصادقة بحيث يُستخدم موفر المصادقة لاسترجاع بيانات المستخدم من قاعدة البيانات والتحقق من هويته. في الكود الخاص بك، تم تعريف الحارسين 'web' و 'admin' مع موفرات المصادقة الخاصة بهما. بحيث يُحدد driver كيفية المصادقة أين يتم استخدام 'session' driver لكلتا الحارسين. أما بخصوص هذا الكود في قاعدة البيانات: 'guards' => [ 'web' => [ 'driver' => 'session', 'provider' => 'users', ], 'admin' => 'session', 'provider' => 'admins', ], يفترض أن لديك جدولين في قاعدة البيانات: جدول 'users' للمستخدمين العاديين وجدول 'admins' للمستخدمين الإداريين. يتم تخزين بيانات المستخدمين في الجدولين بشكل منفصل، حيث يحتوي كل منهما على الحقول اللازمة مثل الاسم، البريد الإلكتروني، كلمة المرور، إلخ. لنأتي إلى مفهوم موفرات المصادقة، 'provider' هنا تعني اسم الموفر الذي يقوم بإحضار بيانات المستخدمين من قاعدة البيانات، ويتم تحديد 'users' كموفر للمستخدمين العاديين و 'admins' كموفر للمستخدمين الإداريين. عندما يحاول المستخدم تسجيل الدخول، يتم تحقق من بياناته مقابل الحارس المناسب وموفره. إذا كانت المصادقة ناجحة، يتم تسجيل دخول المستخدم وتخزين بياناته في الجلسة أو غيرها من وسائل التخزين التي تم تعيينها في driver. وباختصار، يتيح لك Laravel تحديد سلوك مختلف لعملية المصادقة لأنواع مختلفة من المستخدمين (على سبيل المثال: المستخدمين العاديين والمستخدمين الإداريين) من خلال استخدام الحراس وموفرات المصادقة المختلفة. بتاريخ 18 دقائق مضت قال Atheer Bis: ممكن تشرح لي هذي الجزئية ؟ تبع الحارس حارس الويب (Web Guard) مثلا هنا يستخدم session driver لحفظ بيانات المصادقة. يستخدم موفر المستخدمين 'users'، مما يعني أنه سيبحث عن المستخدمين في جدول 'users' في قاعدة البيانات. 'guards' => [ 'web' => [ 'driver' => 'session', 'provider' => 'users', ], حارس الإدارة (Admin Guard) يستخدم session driver لحفظ بيانات المصادقة. ويستخدم موفر المستخدمين 'admins'، مما يعني أنه سيبحث عن المستخدمين في جدول 'admins' في قاعدة البيانات. 'admin' => [ 'driver' => 'session', 'provider' => 'admins', ], حارس رؤساء الأقسام (Head of Department Guard) يستخدم session driver لحفظ بيانات المصادقة. ويستخدم موفر المستخدمين 'head_of_department'. 'head_of_department' => [ 'driver' => 'session', 'provider' => 'head_of_department', ], أما حارس طلاب الثانوية العامة (HSC Guard)، يستخدم session driver لحفظ بيانات المصادقة. ويستخدم موفر المستخدمين 'hscs'. 'hsc' => [ 'driver' => 'session', 'provider' => 'hscs', ], حارس عمداء الكليات (Dean Guard) يستخدم hscs driver لحفظ بيانات المصادقة. هنا لا يوجد موفر محدد، ولكن يمكن تخصيصه ليبحث عن بيانات المستخدمين في الجدول المناسب. 'dean' => [ 'driver' => 'hscs', ], وفي الأخير حارس طلاب الكليات الأخرى (Stuff Student Guard) ويستخدم session driver لحفظ بيانات المصادقة، كما يستخدم موفر المستخدمين 'stuff_student'. 'stuff_student' => [ 'driver' => 'session', 'provider' => 'stuff_student', ], ], هذه التكوينات تحدد كيفية تخزين بيانات المصادقة وكيفية البحث عن المستخدمين في قاعدة البيانات بناءً على نوع المستخدم والسياق الذي يتم فيه تسجيل الدخول. 1 اقتباس
0 Mahmoud Hassan19 نشر 2 مارس أرسل تقرير نشر 2 مارس مرحبا public function info() { // auth() للحصول المصادقة ثم يتم استخدام الواجهة admin $admin = auth()->guard('admin')->user(); return view('admin.profile', compact('admin')); } : هنا auth نستتخدامها مع المصادقة في Laravel للوصول إلى المستخدم الحالي . يتم استخدام واجهة المصادقة admin للوصول إلى مستخدم المشرف (admin) اذن في السطر الذي طلب فهمه هو المقصور الوصول للمستخدم المشرف وفي السطر الذي يليه return view('admin.profile', compact('admin')) يتم تحميل الصفحة admin.profile وتمرير المتغير admin إلى الصفحة باستخدام الدالة compact() اما بالسبة guards guards تُستخدم لتحديد كيفية مصادقة المستخدمين وكيفية استرجاعهم من مصادر بيانات محددة ويقوم بتحديدها كلاتالي : web وهنا بوفر استخدام session كاداة للتوصيل المصداقية وتخزينها وال provider هو اليوزر لمصداقية اليوزر العادي admin هنا ايضا يستخدم session وال provider هوا admin ولمصادقية المشرف يمكنك استخدام المصادقة واسترجاع المستخدمين بناء على guards الذي تم تحديده في كل حالة 1 اقتباس
السؤال
Atheer Bis
في الربط بين الصفحات كان موجود عندي هذا الامر :
الان مالمقصود في الامر هذا ؟ احتاج شرح للامر الذي قبل return
6 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.