का उपयोग कर क्षेत्र आधारित प्रमाणीकरण मैं एक एमवीसी 5 वेब अनुप्रयोग विकसित कर रहा हूं। इस एप्लिकेशन में 2 क्षेत्र, 'एसयू' और 'ऐप' हैं। प्रत्येक क्षेत्र को स्वतंत्र रूप से प्रमाणित किया जाना चाहिए। प्रत्येक क्षेत्र में भी अपना लॉगिन पेज होता है।
मैं उपयोगकर्ताओं को प्रमाणीकृत करने के लिए OWIN का उपयोग कर रहा हूं।
अब मुद्दा यह है कि, मैं उपयोगकर्ता के अनुरोध के क्षेत्र के आधार पर owin CookieAuthenticationOptions
LoginPath
सेट करने में असमर्थ हूं।
उदाहरण के लिए, यदि उपयोगकर्ता अनुरोध http://example.com/su/reports/dashboard
, मैं उन्हें 'ऐप्स' क्षेत्र के लिए, इसी तरह http://example.com/su/auth/login
पर रीडायरेक्ट करने में सक्षम होना चाहिए, यदि उपयोगकर्ता अनुरोध http://example.com/app/history/dashboard
, मैं उन्हें http://example.com/app/auth/login
OWIN
पर रीडायरेक्ट करने में सक्षम होना चाहिए मैं चाहूँगा कस्टम विशेषता से बचने के लिए और इसलिए कोड निम्नलिखित की कोशिश की लेकिन यह हमेशा रूट लॉगिन पथ यानी के लिए पुनः निर्देशित किया जाता है, http://example.com/auth/login
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
var url = HttpContext.Current.Request.Url.AbsoluteUri;
string loginPath = "/auth/login";
string areaName = string.Empty;
if (url.ToLower().Contains("/su/"))
{
areaName = "SU";
loginPath = "/su/auth/login";
}
if (url.ToLower().Contains("/app/"))
{
areaName = "APP";
loginPath = "/app/auth/login";
}
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = "ApplicationCookie" + areaName,
LoginPath = new PathString(loginPath)
});
}
}
मैं सही दृष्टिकोण अनुसरण कर रही हूं या वहाँ एक ही प्राप्त करने के लिए किसी भी अन्य तरीका है? धन्यवाद!