ASP.NET - ما هي أفضل الممارسات الحالية لتتبع متغيرات الحالة والجلسة؟

StackOverflow https://stackoverflow.com/questions/2619908

سؤال

نحن نقوم بإنشاء تطبيق جديد للمستهلكين/مواجهة ASP.NET. هناك مخاوفان:

-استخدام ملفات تعريف الارتباط أو مصادقة كوكيلس؟

-إذا قررنا عدم استخدام ملفات تعريف الارتباط على الإطلاق ، كيف يمكنك تخزين البيانات التي سيتم تخزينها في ملف تعريف الارتباط (معرف العميل ، التابع ، إلخ). هل يتتبع إطار مصادقة ASP.NET شيئًا مثل CustomerId؟

هل كانت مفيدة؟

المحلول

بالنسبة لتطبيق الويب العادي ، لا يوجد سبب وجيه لاستخدام مصادقة Cookieless - لقد توفي الخوف من ملفات تعريف الارتباط منذ حوالي عقد من الزمن.

بالنسبة للبيانات الفعلية ، يكون كائن الجلسة عمومًا اختيارًا أفضل من ملفات تعريف الارتباط الفردية - ملف تعريف الارتباط للجلسة هو قيمة واحدة تمنحك بشكل فعال مفتاحًا لأي بيانات جلسة قمت بتخزينها على الخادم. هناك بعض الحالات المتخصصة التي توجد فيها مشاكل في استخدام الجلسة ، على سبيل المثال في عمليات النشر متعددة الخدمات ، ولكن في معظم التطبيقات ، يكون الأمر بسيطًا وكافيًا.

يتتبع نظام المصادقة النماذج القياسية اسم المستخدم - عمومًا هذا يكفي للبحث عن البيانات التي تحتاجها من قاعدة البيانات الخاصة بك إذا كنت لا ترغب في الاحتفاظ بأي شيء في الجلسة.

نصائح أخرى

إذا كنت تقوم بالمصادقة ، فإن ملفات تعريف الارتباط هي الطريقة المعتادة. من النادر جدًا هذه الأيام أن يتم إيقاف تشغيل ملفات تعريف الارتباط لأن العديد من المواقع تعتمد عليها بالفعل.

بعد قولي هذا ، يدعم ASP.NET مصادقة "Cookieless". في الأساس ، يضيف رمز المصادقة كمعلمة على عنوان URL. إنه يحلل جميع عناوين URL الخارجية للتأكد من أنها تتضمن أيضًا معلومات الرمز المميز. أنا شخصياً لن أزعج هذا الأمر وأذهب فقط مع طلب ملفات تعريف الارتباط. هناك عدد قليل من الصداع الإضافي عند محاولة السير في طبخ (على سبيل المثال ، يمكن أن يجعل كبار المسئولين الاقتصاديين أكثر صعوبة ، لأن محركات البحث ستشاهد عنوان URL مختلفًا في كل مرة تزحف فيها إلى الصفحة).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top