asp.net - एस्पनेट पहचान-रनटाइम पर कुकी डमैन सेट करना




authentication claims-based-identity (2)

मैं cookieAuthenticationOptions में cookieDOmain को रनटाइम पर कैसे सेट कर सकता हूं अगर मैं इस मान को Request.Url से या अपने डेटाबेस में संग्रहीत कुछ सेटिंग्स से खींचना चाहता हूं?

मैं उप-डोमेन का समर्थन करना चाहता हूं, लेकिन बहु-किरायेदारों का भी समर्थन करता है, जिनमें प्रत्येक के पास अलग-अलग डोमेन हैं

फिलहाल यह कॉन्फ़िगर किया गया है कि मुझे इन दोनों में से किसी तक पहुंच नहीं है।

पॉल


क्या आप पहले से ही यह कोशिश करते हैं:

app.UseCookieAuthentication(new CookieAuthenticationOptions
{
  AuthenticationType = "Application",
  LoginPath = "/Account/Login",
  CookieDomain = ".myDomain.com"
});

आप अपना स्वयं का कुकी प्रदाता निर्दिष्ट कर सकते हैं:

CookieAuthProvider myProvider = new CookieAuthProvider();
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
   AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
   LoginPath = new PathString("/Account/Login"),
   Provider = myProvider
});

या तो खुद को लागू करें, या बस मौजूदा प्रदाता से वारिस करें:

public class CookieAuthProvider : CookieAuthenticationProvider
{
    public override void ResponseSignIn(CookieResponseSignInContext context)
    {
      //Alter you cookie options
      //context.CookieOptions.Domain  =  "www...";      
      base.ResponseSignIn(context);
    }
 }

और ResponseSignIn , इसे तब कहा जाता है जब एक समापन बिंदु ने कुकी में रूपांतरित होने से पहले संकेत जानकारी प्रदान की है। इस पद्धति को लागू करके टिकटों में जाने वाले दावों और अतिरिक्त जानकारी को बदला जा सकता है।

आपको एक CookieResponseSignInContext पास किया CookieResponseSignInContext , जो कि CookieOptions प्रॉपर्टी को CookieOptions करता है जिसे CookieOptions कॉल के दौरान बदला जा सकता है या बदला जा सकता है।

कटाना परियोजना से कोड संदर्भ:





claims-based-identity