Bassel Jhr نشر 5 أغسطس 2021 أرسل تقرير نشر 5 أغسطس 2021 لقد قمت بإضافة عملية التوثيق على خادم node.js باستخدام المكتبة passport.js وما أحاول تطبيقه الآن هو معرفة في حال كان المستخدم قد سجّل دخوله أم لا لإظهار عناصر محددة من الصفحة بهذا الشكل: (if loggedIn) <button>logout</button> (else) <button>login</button> <button>register</button> كيف يمكنني تحديد إذا كان المستخدم مسجّل دخوله إلى الموقع في passport ؟ وهل يتم التحقق من طرف الخادم أم من طرف المستخدم؟ اقتباس
1 Sam Ahw نشر 5 أغسطس 2021 أرسل تقرير نشر 5 أغسطس 2021 إذا قام المستخدم بتسجيل الدخول، سيتم إنشاء الغرض user ضمن نسخة الطلب req وإرساله مع كل طلب في express.js والذي يتيح لك التأكد من وجوده أو التحقق من المعلومات الموجودة فيه من خلال أي وسيط: if (req.user) { //قام المستخدم بتسجيل الدخول } else { ... } كما يمكنك فصل عملية التحقق إلى وسيط خارجي واستدعائه عند اللزوم بالشكل التالي: function isLoggedIn(req, res, next) { if (req.user) { next(); } else { res.redirect('/login'); } } بحيث سيتم إعادة توجيه المستخدم إلى صفحة تسجيل الدخول في حال حاول الوصول إلى أي جزء من الكود البرمجي لديك يحتاج توثيق. ويمكنك استخدام الوسيط السابق بالشكل التالي: app.get('/testLogin', isLoggedIn, function(req, res, next) { ... }); بحيث سيتم الدخول إلى الوسيط والتأكد من تسجيل الدخول قبل الوصول إلى هذا الكود 1 اقتباس
0 MoJaffer نشر 5 أغسطس 2021 أرسل تقرير نشر 5 أغسطس 2021 بعد تسجيل الدخول ستستطيع الوصول لبيانات user عن طريق req.user بهذا الشكل الآن أنت تحتاج أن تتحقق من أن هذا user قد قام بتسجيل الدخول من خلال views لعمل ذلك ستحتاج إلى عمل متغيير تقوم فيه بتخزين بيانات user ومن ثم تمريرها للـ views تستطيع عمل ذلك بالشكل التالي : app.use((req, res, next) => { res.locals.user = req.user; next(); }); هنا req.locals.user ستسمح لنا بقراءة المتغيير user على أي ملف من ملفات veiws الآن بكل بساطة بداخل اي ملف view (if user) <button>logout</button> (else) <button>login</button> <button>register</button> اقتباس
السؤال
Bassel Jhr
لقد قمت بإضافة عملية التوثيق على خادم node.js باستخدام المكتبة passport.js وما أحاول تطبيقه الآن هو معرفة في حال كان المستخدم قد سجّل دخوله أم لا لإظهار عناصر محددة من الصفحة بهذا الشكل:
كيف يمكنني تحديد إذا كان المستخدم مسجّل دخوله إلى الموقع في passport ؟ وهل يتم التحقق من طرف الخادم أم من طرف المستخدم؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.