मुझे खुशी इस सवाल का एक छोटा सा पुराना है देखेंगे, लेकिन यह किसी को मदद मिल सकती है ।
एक 401 के लिए आप शायद मानक 401 अनधिकृत पृष्ठ देख रहे होंगे, भले ही आपने अपने web.config में कस्टमर अनुभाग में 401 जोड़ा हो। मैंने पढ़ा है कि आईआईएस और विंडोज प्रमाणीकरण का उपयोग करते समय चेक एएसपी.NET से पहले होता है, अनुरोध भी देखता है, इसलिए आप कैसिनी पर रिक्त पृष्ठ देखते हैं और आईआईएस पर यह 401 है।
मेरी प्रोजेक्ट के लिए मैंने ग्लोबल.एक्सएक्स फ़ाइल संपादित की 401 त्रुटियों के लिए बनाए गए मार्ग पर रीडायरेक्ट करने के लिए, उपयोगकर्ता को "इसे देखने के लिए अनधिकृत" दृश्य में भेजना।
Global.asax में:
void Application_EndRequest(object sender, System.EventArgs e)
{
// If the user is not authorised to see this page or access this function, send them to the error page.
if (Response.StatusCode == 401)
{
Response.ClearContent();
Response.RedirectToRoute("ErrorHandler", (RouteTable.Routes["ErrorHandler"] as Route).Defaults);
}
}
और Route.config में:
routes.MapRoute(
"ErrorHandler",
"Error/{action}/{errMsg}",
new { controller = "Error", action = "Unauthorised", errMsg = UrlParameter.Optional }
);
और नियंत्रक में:
public ViewResult Unauthorised()
{
//Response.StatusCode = 401; // Do not set this or else you get a redirect loop
return View();
}
की तरह अपनी कार्रवाई नियंत्रक में अपने "झंडा" जोड़ने तुम्हारा मतलब अगर मैं आईआईएस के लिए एप्लिकेशन को ले मैं देखना चाहिए कस्टम पेज? या मुझे मानक आईआईएस 401 पेज देखना चाहिए? –
आप 401 देखेंगे। –