IIS 7.5 (विंडोज 7) - HTTP त्रुटि 401.3 - अनधिकृत


81

मैं लोकलहोस्ट पर अपनी ASP.Net वेबसाइट का परीक्षण करने की कोशिश कर रहा हूं और मुझे यह त्रुटि मिल रही है:

HTTP Error 401.3 - Unauthorized
You do not have permission to view this directory or page because of
the access control list (ACL) configuration or encryption settings for
this resource on the Web server.

मेरे पास वेबसाइट एप्लिकेशन फ़ोल्डर में निम्नलिखित उपयोगकर्ता हैं, पूर्ण पढ़ने / लिखने की अनुमति के साथ:

  • नेटवर्क सेवा
  • IIS_IUSRS
  • प्रणाली
  • व्यवस्थापकों
  • नाथन (मुझे)

मैं इसे ठीक करने का क्या प्रयास कर सकता हूं?


मैं अब कुछ घंटों के लिए इस मुद्दे का पीछा कर रहा हूं। मेरे पास पहले से ही IUSR है और सर्वर \ IUSR रीड की अनुमति देगा। मेरा समस्या एक ज़िप फ़ाइल से निकाले गए एन्क्रिप्ट किए गए फ़ोल्डर्स थे। यदि फ़ोल्डर का नाम हरा है, तो प्रॉपर्टी बॉक्स की उन्नत सेटिंग्स से चेकबॉक्स को हटाने का प्रयास करें। इससे मेरा मुद्दा ठीक हो गया।
लियोनेल मॉरिसन

जवाबों:


123

IIS 7 भी IIS के माध्यम से फ़ाइलों का उपयोग करने के लिए डिफ़ॉल्ट उपयोगकर्ता के रूप में "IUSR" बनाता है। तो उपयोगकर्ता IUSR फ़ाइलों / फ़ोल्डरों तक पहुंच पढ़ें।

अगर IUSR ने एक्सेस पढ़ा है तो कैसे जांचें? राइट क्लिक -> फोल्डर -> गुण -> सुरक्षा टैब देखें कि क्या IUSR समूह या उपयोगकर्ता नामों की सूची में है, यदि नहीं।

Edit -> Add -> Advanced -> Find Now -> IUSR चुनें और ठीक चार बार क्लिक करें


5
सुनिश्चित करें कि आप सही स्थान से खोज रहे हैं। मैं अपने कार्य क्षेत्र पर IUSR खोज रहा था और कुछ भी नहीं पा रहा था। फिर मैंने स्थान को अपने मशीन के नाम में बदल दिया।
माइक ब्लैंडफोर्ड

8
नोट: इसके लिए IUSR और IIS_IUSRS दोनों की आवश्यकता है ताकि मेरी मशीन पर काम किया जा सके। मैंने IUSR को जोड़ने के बाद IIS_IUSRS को हटाने की कोशिश की, यह सोचकर कि IUSR की मुझे ज़रूरत थी, लेकिन यह टेढ़ा हो गया।
kdawg

1
इसने मुझे आश्चर्यचकित किया कि बस जोड़ना IIS_IUSRsपर्याप्त नहीं था; मुझे भी जोड़ना था IUSR। याद रखने लायक: ओ)
ओवेन ब्लैकर

निश्चित रूप से IUSR उपयोगकर्ता पहले से ही डिफ़ॉल्ट रूप से IIS_IUSRS का सदस्य है? मेरा सर्वर wwwroot के लिए तय डिफ़ॉल्ट अनुमतियों पर IUSR का उल्लेख नहीं करता है।
निक

33

यह एक और मंच पर मिला, इसलिए मैं क्रेडिट नहीं ले सकता, लेकिन मैंने इसे किया और यह मेरे लिए काम किया:

"IIS7 में अनाम प्रमाणीकरण सेटिंग को बदलने का प्रयास करें:

ऑथेंटिकेशन पर क्लिक करें और बेनामी ऑथेंटिकेशन चुनने के बाद एडिट पर क्लिक करें। प्रारंभिक विंडो में एप्लिकेशन पूल पहचान का चयन करें और ठीक पर क्लिक करें। "


5
मेरे लिए यही किया।
क्रिस मैरिसिक

मैं प्रतिरूपण का उपयोग कर रहा हूं और यह किसी भी तरह मुद्दा था। यकीन नहीं क्यों, लेकिन यह काम किया!
जारोद

इसने मुझे आज मेरे सारे बाल फाड़ने से रोक दिया। धन्यवाद।
पोसका

IIS 8.5 पर, ऐसा लगता है कि नए एप्लिकेशन के लिए डिफ़ॉल्ट अनुप्रयोग पूल पहचान का उपयोग नहीं है, लेकिन सिर्फ IUSR है। मुझे एक बिट gotcha की तरह लगता है!
पैथोजेन

लगता है कि यह "ऐप पूल चलाने वाले उपयोगकर्ता" के लिए अलग पहचान बनाने के लिए समझ में आता है, और "अनाम प्रमाणीकरण" के बाद ऐप पूल द्वारा लगाए गए उपयोगकर्ता - लेकिन केवल दृष्टि के साथ, और इस उत्तर को खोजने के बाद!
शंबुलेटर

20

मेरे पास Windows Server 2008 में IIS 7.5 में समान समस्या थी। मेरे लिए, समस्या को ठीक करने के लिए निम्न चरणों ने काम किया:

  • IIS प्रबंधक खोलें
  • उस वेबसाइट पर क्लिक करें जिसे आप संपादित करना चाहते हैं
  • डबल-क्लिक करें प्रमाणीकरण
  • क्लिक करें बेनामी प्रमाणीकरण , उसके बाद संपादित करें ... के तहत कार्रवाई
  • विशिष्ट उपयोगकर्ता के बजाय एप्लिकेशन पूल पहचान क्रेडेंशियल्स का उपयोग करने के लिए बदलें (मेरा IUSR था)

जब मैंने यह परिवर्तन किया, तो मेरी 401.3 त्रुटियां गायब हो गईं।


10

क्या आप एक लॉगिन तंत्र का उपयोग कर रहे हैं, या सिर्फ अनाम विशेषाधिकार?

यदि अनाम है, तो IIS प्रबंधक में जाएं, प्रमाणीकरण आइकन में, अनाम प्रामाणिक नाम चुनें, फिर क्रियाओं में संपादन बटन पर क्लिक करें। जांचें कि कौन सा उपयोगकर्ता वहां निर्दिष्ट है और यह सुनिश्चित करें कि उसके पास साइट फ़ाइलों / फ़ोल्डरों की अनुमति है।

यदि आपके पास लॉगिन सिस्टम का कोई रूप है, तो सुनिश्चित करें कि जिस उपयोगकर्ता (उपयोगकर्ता) को आप लॉग इन कर रहे हैं, उसके पास साइट के लिए फ़ाइलों की अनुमति है, और सुनिश्चित करें कि आपके द्वारा चलाए जा रहे एप्लिकेशन पूल की आईडी में कम से कम रीड एक्सेस है फ़ाइलों के लिए।


3

डिफ़ॉल्ट रूप से, IIS 7.5 के साथ, प्रत्येक एप्लिकेशन पूल अपनी "वर्चुअल पहचान" के तहत चलता है। ऐप पूल की पहचान क्रेडेंशियल हैं जो फ़ाइल सिस्टम तक पहुंचने के लिए उपयोग की जाती हैं।

मुझे इसके बारे में यांत्रिकी पर यकीन नहीं है, लेकिन Microsoft ने कुछ इंस्टॉलेशन परिदृश्यों में सेवा खाते बनाने की आवश्यकता को कम करते हुए डिफ़ॉल्ट इंस्टॉल की सुरक्षा बढ़ाने के लिए ऐसा किया। इसके बावजूद, अपशॉट यह है कि आपको इस "वर्चुअल आइडेंटिटी" खाते की पहचान करनी होगी और इसे अपनी निर्देशिका तक पहुंच प्रदान करनी होगी, या ऐप पूल के सेवा खाते को बदलना होगा।

ऐप पूल आभासी पहचान को "IIS AppPool \" नाम दिया गया है, इसलिए यदि आप DefaultAppPool का उपयोग कर रहे हैं, तो इसकी पहचान "IIS AppPool \ DefaultAppPool" होगी।

देखें इस अधिक पूर्ण विवरण के लिए लेख।


3

IIS 8 पर हाय मेरे लिए काम: 1) IIS वर्चुअल डायरेक्टरी पर जाएं - 2) प्रमाणीकरण - 3) बेनामी प्रमाणीकरण - 4) एप्लिकेशन पूलिटी सेट करें।


IUSR उत्तर और इस उत्तर को मेरे द्वारा चलाए जाने वाले सभी मामलों में पूर्ण समाधान के लिए आवश्यक है
ब्रायन नोब्लुच

2

जैसा कि ऊपर दिए गए किसी भी उत्तर ने मेरी मदद नहीं की, मैंने सोचा कि मैं इस मुद्दे को कैसे हल करूं क्योंकि मैंने win7 और IIS7 चलाने वाली अपनी स्थानीय मशीन पर इसे टक्कर दी थी।

  • IIS7 -> एप्लिकेशन पूल पर जाएं

    अपनी साइट का एप्लिकेशन पूल (मेरे मामले में DefaultAppPool) ढूंढें, राइट क्लिक करें और उन्नत विकल्प चुनें।

    अध्याय प्रक्रिया मॉडल ढूंढें और फ़ील्ड को बदलें उस उपयोगकर्ता को पहचानें जिसे आप जानते हैं कि आपके वेबसाइट फ़ोल्डर में फ़ाइलों तक पहुंच है (मेरे मामले में स्थानीय व्यवस्थापक)


2

स्वीकृत उत्तर पर टिप्पणियों से जानकारी शामिल करने के लिए उत्तर देना।

Windows Server 2008r2 पर IIS 7.5 में, IIS_IUSRS समूह पहले से ही शामिल है, लेकिन फ़ाइल एक्सेस / डाउनलोड की अनुमति के लिए अलग-अलग IUSR समूह को अभी भी अनुमतियों में जोड़ा जाना चाहिए।

खातों में अंतर के बारे में अधिक जानकारी के लिए IIS में अंतर्निहित उपयोगकर्ता और समूह खातों को समझना।


1

इसे आज़माएं ... कंप्यूटर प्रबंधन पर जाएं (मेरे कंप्यूटर पर राइट क्लिक करें और प्रबंधित करें) -> स्थानीय उपयोगकर्ता और समूह -> उपयोगकर्ता -> IUSR_MACHINENAME चुनें -> राइट क्लिक गुण -> सुनिश्चित करें कि यह एक सदस्य है IIS_WPG और उपयोगकर्ताओं और मेहमानों के नहीं।


मैं सर्वर 2008 R2 के साथ काम कर रहा हूं और IUser खाता सूची में उपलब्ध नहीं है।


1

IIS का क्लाइंट पक्ष का उपयोग करके स्थापित करने का प्रयास करें aspnet_regiis -cऔर फिर IIS रीसेट करें।


1

उन उपयोगकर्ताओं के लिए जहां यह काफी पर्याप्त नहीं है:

मुझे इसके साथ काम करने के लिए मिला:

  • अपनी वेबसाइट का फ़ीचर दृश्य खोलें।
  • हैंडलर मैपिंग पर जाएं।
  • .Cshtml के लिए रास्ता खोजें
  • राइट क्लिक और एडिट फ़ीचर पर क्लिक करें
  • निष्पादित करें का चयन करें
  • ठीक है मारो।

अब अपनी वेबसाइट को रिफ्रेश करने का प्रयास करें।

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