asp.net mvc 401 अनधिकृत: अमान्य प्रमाण-पत्रों के कारण एक्सेस अस्वीकार कर दी गई है




asp.net-mvc iis (8)

मैं एमवीसी 4 आवेदन को तैनात करने के लिए आईआईएस एक्सप्रेस का उपयोग कर रहा हूं। यह वेबसाइट पूरी तरह से उसी कंप्यूटर पर चलती है। लेकिन लैन में यह मुझे त्रुटि 401 देता है।

<authentication mode="Forms">
    <forms loginUrl="~/" slidingExpiration="true" timeout="20">
    </forms>
</authentication>

घर नियंत्रक में

[HttpPost]
[AllowAnonymous]        
public ActionResult Index(LoginModel model, string returnUrl)
{
}

मैं व्यवस्थापक मोड में कमांड प्रॉम्प्ट से आईआईएस सर्वर शुरू कर रहा हूं। आईआईएस त्रुटि 401 के अनुरोध के जवाब में है।

कोई सुराग?


यदि आप आईआईएस 7 का उपयोग कर रहे हैं तो ऐसा कुछ करें:

  1. अपनी साइट का चयन करें।
  2. त्रुटि पृष्ठों पर क्लिक करें।
  3. फीचर सेटिंग्स संपादित करें।
  4. विस्तृत त्रुटियों का चयन करें।

का आनंद लें।


जब मैंने एमवीसी फ़ोल्डरों के साथ एक खाली परियोजना बनाई और तब सर्वर को एप्लिकेशन को तैनात किया तो मुझे इस त्रुटि का सामना करना पड़ा। मेरा मुद्दा यह था कि मैंने Web.config में प्रमाणीकरण को परिभाषित नहीं किया है, इसलिए मुझे बस इतना करना था कि यह लाइन system.web टैग में जोड़ दी गई हो।

<system.web>
    <authentication mode="None"/>
</system.web>

यदि कोई अभी भी इसकी तलाश कर रहा है, तो इसने हमारे लिए समस्या हल की:

जो भी इससे मदद कर सकता है, यह मेरे जीवन को बचाया ...

आईआईएस 7 यह पता लगाने में मुश्किल था कि मुझे 401 क्यों मिल रहा था - अनधिकृत: अमान्य प्रमाण-पत्रों के कारण एक्सेस अस्वीकार कर दी गई है ... जब तक मैंने ऐसा नहीं किया ...

  1. आईआईएस खोलें और 401 का कारण बनने वाली वेबसाइट का चयन करें
  2. "आईआईएस" हेडर के तहत "प्रमाणीकरण" संपत्ति खोलें
  3. "विंडोज प्रमाणीकरण" आइटम पर क्लिक करें और "प्रदाता" पर क्लिक करें
  4. मेरे लिए मुद्दा यह था कि नेगोशिएट एनटीएलएम से ऊपर था। मुझे लगता है कि दृश्यों के पीछे कुछ प्रकार का हैंडशेक चल रहा था, लेकिन मुझे वास्तव में कभी प्रमाणित नहीं किया गया था। मैंने एनटीएलएम को शीर्ष स्थान पर ले जाया, और बीएएम ने इसे ठीक किया।

यहां वह लिंक है जहां यह पाया गया था


सुनिश्चित करें कि आपने आईआईएस पर अनाम प्रमाणीकरण सक्षम किया है:


मुझे इसका एक पुराना सवाल है, लेकिन यह मेरी खोजों में आया। हाल ही में बनाया गया एक एमवीसी अनुप्रयोग के लिए एक समान मुद्दा था, पहली बार तैनात किया गया था, और प्रमाणीकरण तंत्र पूरी तरह से बाहर नहीं किया गया था।

यह मेरे मामले में एक आईआईएस सेटिंग नहीं था, यह एक नियंत्रक था जो [AllowAnonymous] सजाया नहीं गया था। मैं एक layout.Action / Html.Action का उपयोग लेआउट.cshtml में कर रहा था और उपयोगकर्ता को अनधिकृत किया गया था। तो लेआउट ने एक अनधिकृत संदर्भ में एक प्रमाणीकृत कार्रवाई को लोड करने का प्रयास किया।

एक बार जब मैंने अनुमति देने के लिए कार्रवाई को अपडेट किया, तो समस्या दूर हो गई, और यही कारण है कि मुझे इसका कारण बन गया

उम्मीद है कि यह किसी की मदद करता है।


मेरे मामले में,
मेरा आवेदन MVC में विकसित किया गया है और मेरे गृह नियंत्रक वर्ग को [Authorize] सजाया गया था जो इस मुद्दे का कारण बन रहा था।
तो मैंने इसे हटा दिया है क्योंकि मेरे आवेदन को किसी प्रमाणीकरण की आवश्यकता नहीं है।


मुझे इसी तरह का मुद्दा सामना करना पड़ा।

फ़ोल्डर साझा किया गया था और अधिकृत उपयोगकर्ता अनुमति प्रदान की गई थी, जिसने मेरी समस्या हल की।


मुझे एहसास है कि यह एक पुरानी पोस्ट है लेकिन मुझे आईआईएस 8.5 पर एक ही त्रुटि थी। उम्मीद है कि यह एक ही मुद्दे का सामना करने में मदद कर सकता है (मुझे एक ही शीर्षक के साथ अन्य प्रश्नों में उल्लिखित मेरी समस्या नहीं मिली)।

सब कुछ एप्लिकेशन पूल पहचान के साथ सही ढंग से स्थापित लग रहा था, लेकिन मुझे त्रुटि प्राप्त करना जारी रखा। खुदाई के बाद, अनाम उपयोगकर्ता के लिए एप्लिकेशन पूल पहचान या विशिष्ट उपयोगकर्ता के प्रमाण-पत्रों का उपयोग करने की सेटिंग होती है। किसी भी कारण से, मेरा एक विशिष्ट उपयोगकर्ता को डिफॉल्ट किया गया था। ऐप पूल पहचान में सेटिंग को बदलने से मेरे लिए समस्या ठीक हो गई।

  1. आईआईएस प्रबंधक → साइट्स → वेबसाइट
  2. "प्रमाणीकरण" पर डबल क्लिक करें
  3. अनाम प्रमाणीकरण का चयन करें
  4. क्रिया पैनल से, संपादित करें का चयन करें
  5. एप्लिकेशन पूल पहचान का चयन करें और ठीक क्लिक करें

उम्मीद है कि यह किसी और को कुछ समय बचाता है!





form-authentication