हमारे ASP.NET MVC आवेदन में के लिए प्रमाणीकरण रूपों, हम अपने आप को उन अनुप्रेषित। समस्या यह है कि एप्लिकेशन के बीच में एक क्रिया, जिसे किसी उपकरण द्वारा उपयोग करने के लिए डिज़ाइन किया गया है, को खराब पहुंच पर सीधे-सीधे HTTP 401 प्रतिक्रिया वापस करने की आवश्यकता होती है। मैं इस विशिष्ट कार्रवाई के लिए रीडायरेक्ट बिना वास्तविक HTTP 401 कोड कैसे वापस कर सकता हूं?ओवरराइड ASP.NET एक ही पृष्ठ
5
A
उत्तर
6
निम्नलिखित समाधान काम करता है, हालांकि मैं बिल्कुल यकीन है कि यह इष्टतम है नहीं कर रहा हूँ:
public class HttpAuthenticationRequiredResult : ActionResult
{
public override void ExecuteResult(ControllerContext context)
{
var response = context.HttpContext.Response;
response.StatusCode = 401;
response.AddHeader("WWW-Authenticate", "Basic realm=\"whatever\"");
response.Flush();
response.Close();
}
}
तब आप आवश्यक 401 कोड उत्पन्न करने के लिए HttpUnauthorizedResult के बजाय उपरोक्त परिणाम लौटाएं। हालांकि, यह मेरे लिए काफी कठोर लगता है।
4
आप अलग-अलग पथों के लिए <system.web>
अनुभाग अलग कर सकते हैं। यहाँ एक उदाहरण है:
<configuration>
<location path="Foo/Bar.aspx">
<system.web>
<authorization>
<allow roles="GoodGuys" />
<deny users="*"/>
</authorization>
</system.web>
</location>
</configuration>
इस मामले में, पेज "फू/Bar.aspx" Goodguys भूमिका के साथ लोगों के लिए अनुमति दी है, लेकिन सभी दूसरों के लिए इनकार किया है।
आपके मामले में, आप सभी प्रमाणीकरण के बिना अनुमति देने के लिए चाहते हो सकता है:
<configuration>
<location path="Foo/Bar.aspx">
<system.web>
<authentication mode="None" />
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
</configuration>
0
एक समान मामला था जहां मुझे एक ऐसा अवांछित रीडायरेक्ट ट्रिगर करने की आवश्यकता होती थी (मूल रूप से प्रमाणीकरण विफल होने के बारे में एक संदेश और यह त्रुटि जानकारी के बिना लॉगिन स्क्रीन पर रीडायरेक्ट कर रहा था)।
यह समस्या हल हो:
Response.SuppressFormsAuthenticationRedirect = true;
संबंधित मुद्दे
- 1. प्रदर्शन एक ASP.NET पृष्ठ
- 2. एक ही पृष्ठ में एकाधिक फॉर्म ASP.net एमवीसी
- 3. php एक ही पृष्ठ
- 4. ASP.NET पृष्ठ
- 5. सिनात्रा डिफ़ॉल्ट ओवरराइड त्रुटि पृष्ठ
- 6. एक पृष्ठ एकाधिक मास्टर पेजेस? (ASP.NET)
- 7. एक ही पृष्ठ पर रीडायरेक्ट लंगर
- 8. Highcharts.js - एक ही पृष्ठ पर एकाधिक विषयों?
- 9. एक ही पृष्ठ में दो प्रमाणीकरणसमूह
- 10. mediaelement.js एक ही पृष्ठ पर एकाधिक वीडियो?
- 11. गिटलैब विकी एक ही पृष्ठ लिंक
- 12. Asp.Net System.Web.Routing वास्तविक .aspx पृष्ठ
- 13. ASP.net पृष्ठ में सशर्त तर्क
- 14. ASP.NET MVC 3 लैंडिंग पृष्ठ
- 15. ASP.NET MVC सूची और एक ही दृश्य में बनाएं
- 16. ASP.NET: एक पृष्ठ में masterpage से एक समारोह कॉलिंग UserControl
- 17. asp.net
- 18. एक ही समय में एकाधिक Async पोस्टबैक - ASP.NET
- 19. एक पृष्ठ पर रीडायरेक्ट करें जब उपयोगकर्ता asp.net mvc3
- 20. सी ++ सदस्य समारोह आभासी ओवरराइड और एक ही समय
- 21. क्या किसी पृष्ठ की ValidateRequest सेटिंग ओवरराइड हो सकती है?
- 22. किसी पृष्ठ/स्ट्रीम रीडर आकार सीमा के रेंडर ओवरराइड करें?
- 23. Asp.net पृष्ठ जीवन चक्र-विशिष्ट वैश्विक चर?
- 24. ASP.NET MVC: त्रुटि पृष्ठ में अजीब वर्ण
- 25. asp.net MVC के क्षेत्र डिफ़ॉल्ट पृष्ठ
- 26. ASP.NET स्टार्टअप पृष्ठ को रीसेट कैसे करें?
- 27. asp.net - पोस्ट फ़ाइल 404 पृष्ठ परिणाम देती है भले ही पोस्ट की गई फ़ाइल maxRequestLength
- 28. ASP.NET
- 29. एक ही पृष्ठ पर एकाधिक Google Adwords रूपांतरण लेबल
- 30. एक ही पृष्ठ पर एकाधिक remote_form_for डुप्लीकेट आईडी
यदि यह थे सीधे-अप ASP.NET, कि काम करेगा, लेकिन मैं कैसे ASP.NET MVC के साथ है कि तकनीक का उपयोग करने के लिए स्पष्ट नहीं कर रहा हूँ। समस्या यह है कि चाहिए-वापसी -401 यूआरएल myapp/{rout पैरामीटर}/उपकरण पर हैं; system.web में निर्दिष्ट करने का कोई तरीका नहीं है, भले ही मैं चाहता हूं। –
* ब्लश * जब मैंने आपकी पोस्ट पढ़ी तो मुझे "एमवीसी" दिखाई नहीं दिया। – Randolpho
हालांकि यह प्रमाणीकरण तत्व के लिए काम करता है, यह प्रमाणीकरण के लिए काम नहीं करता है - मुझे निम्न त्रुटि मिलती है: इस अनुरोध की सेवा करने के लिए आवश्यक कॉन्फ़िगरेशन फ़ाइल की प्रक्रिया के दौरान एक त्रुटि हुई। कृपया नीचे दिए गए विशिष्ट त्रुटि विवरणों की समीक्षा करें और अपनी कॉन्फ़िगरेशन फ़ाइल को उचित रूप से संशोधित करें। यह आवेदन स्तर से परे allowDefinition = 'MachineToAplication' के रूप में पंजीकृत अनुभाग का उपयोग करने में त्रुटि है। –