के साथ विभिन्न यूआरएल के लिए अलग लॉगिन यूआरएल मेरे पास एएसपी.नेट एमवीसी प्रोजेक्ट है, और मैं वेबसाइट के विभिन्न क्षेत्रों के लिए एक अलग लॉगिन यूआरएल चाहता हूं। साइट के क्षेत्र के आधार पर, विभिन्न प्रकार के प्रमाण-पत्र दर्ज किए जाते हैं।एएसपी.नेट एमवीसी और फॉर्म प्रमाणीकरण
http://host.com/widget/home
उपयोगकर्ता को http://host.com/widget/logon
पर रीडायरेक्ट करना चाहिए।
http://host.com/admin/home
उपयोगकर्ता को http://host.com/admin/logon
पर रीडायरेक्ट करना चाहिए।
अब तक का सबसे अच्छा समाधान मैं के साथ आए हैं, फार्म है प्रमाणीकरण loginUrl = "~/खाता/लॉग ऑन" web.config में:
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880"/>
</authentication>
खाते के लिए नियंत्रक में:
public ActionResult LogOn()
{
//redirect depending on the returnUrl?
string returnUrl = ControllerContext.Controller.ValueProvider["ReturnUrl"].AttemptedValue;
if (returnUrl.StartsWith("/widget"))
{
return Redirect(string.Format("/widget/Logon?ReturnUrl={0}", returnUrl));
}
if (returnUrl.StartsWith("/admin"))
{
return Redirect(string.Format("/admin/Logon?ReturnUrl={0}", returnUrl));
}
return View();
}
क्या ऐसा करने का कोई बेहतर तरीका है?
बीटीडब्लू: आप केवल विधि के लिए स्ट्रिंग पैरामीटर के रूप में वापसी यूआरएल डाल सकते हैं: लॉगऑन (स्ट्रिंग रिटर्न यूआरएल) –