एक निर्देशिका पर "401 अनधिकृत"


85

मुझे लगता है कि यह एक IIS त्रुटि है, क्योंकि अगर मैं अपने स्थानीय मशीन पर प्रोजेक्ट चलाता हूं तो ऐसा नहीं होता है।

मैं अपने स्टाइलशीट पर है ~/Content/css

उस निर्देशिका की कोई भी फ़ाइल पृष्ठ पर लोड नहीं होगी, और जब मैं उन्हें सीधे नेविगेट करता हूं, तो मुझे एक सर्वर त्रुटि मिलती है:

401 - अनधिकृत: अमान्य क्रेडेंशियल के कारण प्रवेश निषेध है।

आपके द्वारा प्रदत्त क्रेडेंशियल्स का उपयोग करके इस निर्देशिका या पृष्ठ को देखने की अनुमति नहीं है।

यह केवल उस निर्देशिका के साथ होता है, मुझे किसी भी अन्य फ़ाइलों तक पहुँचने में कोई समस्या नहीं है। क्या इसे रोकने के लिए IIS7 में मुझे कुछ करने की आवश्यकता है?

जवाबों:


46

ऐसा नहीं है कि आप की जरूरत नहीं है की संभावना है IUSR_ computername उस फ़ोल्डर पर अनुमति। मेरे पास बस एक त्वरित स्कैन है और ऐसा लग रहा है कि आपको यहां आवश्यक जानकारी मिल जाएगी ।

यदि ऐसा नहीं है, तो क्या आपको ब्राउज़र द्वारा आपके उपयोगकर्ता नाम और पासवर्ड के लिए संकेत दिया गया है? यदि ऐसा है तो यह हो सकता है कि IIS को एकीकृत प्रमाणीकरण का उपयोग करने के लिए कॉन्फ़िगर किया गया है, जैसा कि यहां वर्णित है


4
यदि आप अपने db / फ़ाइल सिस्टम एक्सेस को प्रबंधित करने के लिए एप्लिकेशन पूल का उपयोग कर रहे हैं, तो ऐसा न करें। इमनाबिदी के उत्तर को देखने के लिए नीचे पढ़ें।
रयान

धन्यवाद, मेरे मामले में मैंने पूरे नियंत्रण के साथ सभी को जोड़ा
MorenajeRD

8
support.microsoft.com/kb/313075 - यह पृष्ठ अब मौजूद नहीं है। @ m.edmondson
दिव्य

292
  1. IIS खोलें और साइट चुनें जो 401 का कारण बन रहा है
  2. IIS हैडर में प्रमाणीकरण संपत्ति का चयन करें
  3. बेनामी प्रमाणीकरण का चयन करें
  4. उस पर राइट क्लिक करें, संपादित करें चुनें और एप्लिकेशन पूल पहचान चुनें
  5. साइट को पुनरारंभ करें और इसे काम करना चाहिए

13
यह काम करता है लेकिन क्यों? क्या आप थोड़ा और समझा सकते हैं?
nthapa

2
यह कार्य करने के लिए प्रकट होता है, क्योंकि डिफ़ॉल्ट रूप से, अनाम प्रमाणीकरण के लिए "विशिष्ट उपयोगकर्ता" IUSR है, जैसा कि स्वीकृत उत्तर में उल्लेख किया गया है। हालाँकि, एप्लिकेशन पूल पर सेट की गई पहचान के पास पूरी वेबसाइट की अनुमति होनी चाहिए , या साइट लोड नहीं होगी। इसलिए जब तक मेरे IUSR खाते तक पहुंच नहीं है (वास्तव में, ऐसा लगता है कि मौजूद नहीं है), खाता पूल उपयोग कर रहा है।
जोहान

6
यह काम करता है, लेकिन क्या भ्रमित है कि यह लगभग 2 साल के लिए ठीक काम करता था और फिर आज बिना किसी कारण के काम करना बंद कर दिया ... आपके समाधान ने इसे ठीक कर दिया।
सेरज सगान

इस समस्या पर घंटे बिताए और जब तक मुझे यह नहीं मिला, कोई भाग्य नहीं! मेरे पास एक एमवीसी 5 वेब ऐप था जो एक बार रिलीज़ मोड में प्रकाशित हुआ था, और फिर साइट को क्रोम पर लोड करने पर सामग्री लोड होती थी, लेकिन शैली नहीं होती थी। लिंक वहाँ हैं और रास्ते जहाँ सही हैं लेकिन वे सभी खाली थे! इस फिक्स ने मेरी समस्या हल कर दी।
GIVE-ME-CHICKEN

मेरे मामले में मुझे बस अनाम प्रमाणीकरण को सक्षम करना था क्योंकि यह डिफ़ॉल्ट रूप से अक्षम था जब एप्लिकेशन बनाया गया था
पॉल

13
  • IIS खोलें
  • उस साइट का चयन करें जहां आप समस्या का सामना कर रहे हैं

  • नीचे का चयन करें

यहाँ छवि विवरण दर्ज करें

- बेनामी ऑथेंटिकेशन पर राइट क्लिक करें और नीचे दिए गए एडिट एंड फॉलो पर क्लिक करें

यहाँ छवि विवरण दर्ज करें


5

आपके द्वारा प्रदत्त क्रेडेंशियल्स का उपयोग करके इस निर्देशिका या पृष्ठ को देखने के लिए आपके पास अनुमति नहीं है।

यह इस तथ्य के बावजूद हुआ कि उपयोगकर्ता पहले से ही सक्रिय निर्देशिका के माध्यम से प्रमाणित है।

प्रवेश निषेध त्रुटि के कई कारण हो सकते हैं, लेकिन अगर आपको लगता है कि आपने पहले ही अपने वेब एप्लिकेशन से सब कुछ सही तरीके से कॉन्फ़िगर कर लिया है, तो थोड़ा विस्तार हो सकता है जिसे आप भूल गए हैं। सुनिश्चित करें कि आप अपने वेब एप्लिकेशन डायरेक्टरी तक पहुँचने के लिए प्रमाणीकृत उपयोगकर्ताओं को उचित अनुमति दें ।

इस मुद्दे को हल करने के लिए मैंने जो कदम उठाए हैं।

  1. उस निर्देशिका पर राइट-क्लिक करें जहां वेब एप्लिकेशन संग्रहीत है और गुण चुनें और सुरक्षा टैब पर क्लिक करें।

  2. क्लिक करें संपादित करें पर क्लिक करें… फिर जोड़ें… बटन। चयन करने के लिए ऑब्जेक्ट नाम दर्ज करें में प्रमाणित उपयोगकर्ताओं में टाइप करें। फिर बटन जोड़ें । चयन करने के लिए ऑब्जेक्ट नाम दर्ज करें में प्रमाणित उपयोगकर्ताओं में टाइप करें।

  3. ठीक पर क्लिक करें और आपको उपयोगकर्ता के नामों में से एक के रूप में प्रमाणित उपयोगकर्ताओं को देखना चाहिए। यदि वे पहले से जाँच नहीं हैं, तो निचले छोर पर प्रामाणिक उपयोगकर्ता बॉक्स के लिए अनुमतियों पर उचित अनुमति दें ।

  4. संवाद बॉक्स को बंद करने के लिए दो बार ठीक पर क्लिक करें । यह तुरंत प्रभावी होना चाहिए, लेकिन यदि आप सुनिश्चित होना चाहते हैं, तो आप अपने वेब एप्लिकेशन के लिए IIS को पुनरारंभ कर सकते हैं।

अपने ब्राउज़र को ताज़ा करें और इसे अब वेब पेज प्रदर्शित करना चाहिए।

उम्मीद है की यह मदद करेगा!


2

आपको अपने सर्वर पर फ़ोल्डर अनुमतियों की जांच करने और यह जांचने की आवश्यकता है कि आप जिस खाते का उपयोग कर रहे हैं वह आपके एप्लिकेशन को उस फ़ोल्डर में एक्सेस करने के लिए है।


0

मेरे लिए अनाम उपयोगकर्ता की पहुंच सर्वर स्तर पर ठीक थी, लेकिन मेरे "वर्चुअल" फ़ोल्डरों में से एक पर ही विविध थी।

मुझे इसके बारे में काफी कुछ पता चला और फिर कुछ सहयोगियों से यह जानने में मदद मिली कि IIS के पास वर्चुअल फ़ोल्डर के स्तर पर भी "प्रमाणीकरण" सेटिंग्स हैं - उम्मीद है कि यह मेरे किसी और के साथ मदद करता है।


0

हमारे मामले में यह ऐप में निर्दिष्ट विंडोज-एकीकृत प्रमाणीकरण था web.config

लेकिन, आईआईएस मशीन पर विंडोज़-ऑउटफिट मॉड्यूल स्थापित नहीं किया गया था।

बस एक और संभावित कारण जोड़ रहा हूं।


-4

एक और साधारण सुधार मुझे लगा कि स्थानीय IIS साइट (IIS प्रबंधक के भीतर से) को हटाना और फिर विज़ुअल स्टूडियो में आपके वेब प्रोजेक्ट के "गुण" से वर्चुअल निर्देशिका को फिर से बनाना है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.