بحاجة إلى مساعدة في إجراء تسجيل الدخول إلى .Net (يعمل على الجهاز المحلي، وليس على جهاز بعيد)

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

سؤال

لدي مشكلة سخيفة حقا ولكن لقد مر أسبوع ولا أستطيع المضي قدما.لدي تطبيق صغير محمي بالمصادقة.كل شيء يعمل محليا، يمكنك تسجيل الدخول وما إلى ذلك.على الجهاز البعيد، لا يمكنك تسجيل الدخول، يخبرك أنه لم يتم التعرف على تسجيل الدخول الخاص بك.الآن، اعتقدت أنه قد يكون اتصال db وما إلى ذلك، لذلك قمت بإنشاء صفحة اختبار صغيرة تسرد جدول asp_users ومن خلال إجراء تغييرات على المستخدمين، يمكنني رؤية كل من المستوى المحلي والبعيد يرون نفس الجدول من خلال هذا الاتصال، والسبب وراء عدم عمل مصادقة المستخدم هو خارج عن ارادتي.

للتوضيح، إنها مصادقة تطبيق asp.net والنماذج، ويعمل اتصال db بناءً على صفحة الاختبار التي قمت بإنشائها والتي تسرد جدول asp_users.

إنه لا يبلغ عن أي خطأ ، فقط يقول "لم تكن محاولة تسجيل الدخول الخاصة بك ناجحة.حاول مرة اخرى.' يجب أن يكون شيئًا بسيطًا حقًا وأنا محبط للغاية الآن لرؤيته ، ولهذا السبب أطلب المساعدة.يساعد !:)

حسنًا، لقد حاولت نشر أجزاء من web.config ولكنها لا تظهر.إنه بالفعل تكوين أساسي مع سلسلة الاتصال وأقسام العضوية والأدوار (بدون ملف تعريف).لذا فإن السؤال هو كيف ستتعامل مع هذا الأمر، وما الذي ستتحقق منه.

شكرا مقدما على أي تعليقات بناءة.

زيليكو

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

المحلول

كان لدينا موقف مشابه إلى حد ما، حيث أنه بينما كان بإمكاننا تسجيل الدخول، رفض الموقع "تذكرني" عند تحديده.كان الأمر يتلخص في التأكد من أن كلاً من موفري العضوية والأدوار يشيرون إلى نفس الموارد.نعم ، كان هذا "DOH!" لحظة بالنسبة لي.:)

هل تحاول استخدام SQLExpress على الخادم البعيد أم أنه يشير إلى مثيل SQLServer كامل؟لقد كانت تجربتي أن معظم بيئات الاستضافة المشتركة لم يتم إعدادها للسماح باستخدام .MDF في مجلد App_Data...وبغض النظر عن ذلك، فإن معرفة هذا سيوجهك في الاتجاه الصحيح.

إليك بعض الأشياء التي يمكنك تجربتها:

  1. تأكد من عدم قفل معرف تسجيل الدخول الخاص بك؛قد يكون الأمر بهذه البساطة حقًا

  2. تأكد من عدم وجود أي اقتطاع أمني في المجلد الذي يحتوي على صفحة تسجيل الدخول

  3. تحقق من إعدادات الموفر المناسبة في ملف web.config وتأكد من ذلك

    • يجب أن يكون لدى جميع مقدمي الخدمة نفس القيمة للسمة "التطبيق".

    • يحتاج جميع مقدمي الخدمة إلى استخدام نفس سلسلة الاتصال و"مجموعة" الموفر

      • على الأرجح سيعني هذا استخدام SqlMembershipProvider و SqlRoleProvider
      • إذا لم يكن تطبيقك إصدار v3.5، فقد يتعين عليك إضافة مرجع إلى System.Web.Security.هذه هي مساحة الاسم التي تحتاجها بالفعل
    • إذا كنت متأكدًا من أن موقعك يمكنه استخدام SQLExpress، فجرب ذلك باستخدام AspNetMembershipProvider و AspNetRoleProvider

هث!

نصائح أخرى

هل لديك مجال؟ إذا لم تقم بذلك، ثم سيكون لديك للدخول كمستخدم للنظام حيث يتم تشغيل التطبيق asp.net الخاص بك.

إذا كان لديك مجال، حاول تسجيل الدخول ك

وDOMAIN_NAME \ اسم المستخدم

ومجرد رمي أن واحدا من هناك.

ليس من الواضح ما هو نوع المصادقة التي تستخدمها ولكن إذا كانت مصادقة Windows، فمن المحتمل أنك تقرأ المستخدم الذي قام بتسجيل الدخول من الجهاز المحلي والمستخدم غير موجود على جهاز التحكم عن بعد.

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

  • ربما تبدأ بمحاولة الاتصال من استوديو إدارة SQL من الجهاز البعيد إلى قاعدة البيانات (باستخدام معلومات الاتصال في web.config)

ما هي إعدادات أمان الدليل لIIS؟ جعل إعدادات المؤكد هي نفسها للحوار "مجهول بالوصول والمصادقة السيطرة". إعداد خاطئ هنا هو السبب الأكثر احتمالا لهذا الخطأ بعينه.

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