ASP.Net تقوم الهوية تلقائيا بتسجيل المستخدمين في موقع الاختبار الخاص بي إذا كانوا على الموقع المباشر على الرغم من أن الإصدارات المختلفة تستخدم قواعد بيانات مختلفة

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

سؤال

لقد بنيت ASP.NET مفك تطبيق ويب الذي يستخدم ASP.NET الهوية للمصادقة.

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

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

هل هناك على أي حال يمكنني إيقاف حدوث هذا الخطأ?

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

المحلول

ربما كنت تستخدم OWIN خط أنابيب المصادقة مع ASP.NET Identity عند تكوين المصادقة ، يجب عليك استخدام شيء مثل

app.UseCookieAuthentication(new CookieAuthenticationOptions
    {
            AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
            LoginPath = new Microsoft.Owin.PathString("/Account/Login"),
            CookieName = ".AspNet.Cookies"
    });

CookieName يجب أن تكون مختلفة.أو بدلا من ذلك يمكنك تحديد صراحة CookiePath أو CookieDomain لإظهار بالضبط مسار أو مجال التطبيق الخاص بك.

نصائح أخرى

أعتقد في التكوين لديك لديك شيء من هذا القبيل:

giveacodicetagpre.

يحتوي cookieAuthentictionsoptions على خاصية سلسلة تسمى cookiename ما هو ما يمكنك استخدامه لتغيير اسم ملف تعريف الارتباط.يمكنك وضع اسم ملف تعريف الارتباط الفعلي في التكوين وقراءته من هناك عند بدء التشغيل.

حاول تغيير اسم ملف تعريف ارتباط المصادقة.يمكنك القيام بذلك في الويب.تكوين الموقع

<authentication mode="Forms">
  <forms name=".{{YOURCOOKIE_NAME}}" loginUrl="~/Account/SignIn" />
</authentication>

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

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