سؤال

لدينا تطبيقان يستخدمان Asp.Net Identity للأمان.

ليس لديهم أي علاقة ببعضهم البعض ولكني مطور في كلا المشروعين.

أواجه مشكلة مزعجة للغاية فيما يتعلق باسم ملف تعريف الارتباط.إذا ذهبت إلى التطبيق 1 وقمت بتسجيل الدخول ثم إلى التطبيق 2 وقمت بتسجيل الدخول، فسيتم قطع الاتصال بالتطبيق 1.

تخميني الجامح هو أن السبب هو أن التطبيقين يشتركان في نفس اسم ملف تعريف الارتباط.

لذا، لتسهيل التطوير وأيضًا لأنني أعتقد أنه أجمل، فإنني أبحث عن طريقة لتغيير اسم ملف تعريف الارتباط.

أي فكرة؟

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

المحلول

حسنًا، وجدته.

افتراضيًا، سيقوم VS وIdentity بإنشاء ملف في App_Start باسم Startup.Auth.cs.

يحتوي هذا الملف على التعليمات البرمجية التالية

app.UseCookieAuthentication(new CookieAuthenticationOptions
{
    AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
    LoginPath = new PathString("/Account/Login"),
    Provider = new CookieAuthenticationProvider
    {
        OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
            validateInterval: TimeSpan.FromMinutes(30),
            regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
    }
});

لإصلاح مشكلتنا، يتعين علينا تعيين خاصية CookieName لملف CookieAuthenticationOptions

CookieName = "my-very-own-cookie-name"

هذا كل شيء؛لا شيء آخر.

هتافات!

نصائح أخرى

للحصول على أشكاله، تغيير اسم ملف تعريف الارتباط من خلال Web.config:

giveacodicetagpre.

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