asp.net - अपर्याप्त अनुमतियों के कारण कॉन्फ़िगरेशन फ़ाइल नहीं पढ़ी जा सकती है




iis-7 file-permissions (20)

  1. आईआईएस पर जाएं, (साइट्स)
  2. साइटों के अंदर परियोजना पर राइट क्लिक करें। यहां छवि विवरण दर्ज करें

और संपादन अनुमति पर क्लिक करें।

  1. सुरक्षा पर जाएं।

  2. संपादन बटन पर क्लिक करें।

  3. जोड़ें बटन पर क्लिक करें। COMPUTER_NAME \ IIS_USERS टाइप करें

    या

  4. अग्रिम क्लिक करें।

  5. अभी बटन खोजें पर क्लिक करें।

    और चुनने का विकल्प है। IIS_USERS चुनें और ठीक क्लिक करें ... ठीक है .... ठीक है।

मुझे हाल ही में आईआईएस के साथ मेरी एएसपीनेट साइट होस्ट करने की कोशिश में एक त्रुटि आई है। मुझे एक समाधान मिला है जो कई लोग कसम खाता है।

उपाय:

  1. फ़ोल्डर में फ़ाइलों पर पढ़ने की अनुमति के साथ IIS_IUSRS जोड़ें
  2. आईआईएस प्रमाणीकरण विधि को मूल प्रमाणीकरण में बदलें
  3. वेबसाइट रीफ्रेश करें। यह काम करेगा

( http://vivekthangaswamy.blogspot.com/2009/07/aspnet-website-cannot-read.html )

हालांकि मैं अपनी web.config फ़ाइल में क्या जोड़ूं? मुझे इसे पहले कभी संपादित नहीं करना पड़ा था। यहां इसकी वर्तमान सामग्री है:

<?xml version="1.0"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
    <connectionStrings>
  <add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True"
   providerName="System.Data.SqlClient" />
 </connectionStrings>
 <system.web>
  <compilation debug="true" strict="false" explicit="true" targetFramework="4.0"/>
    </system.web>
</configuration>

मेरी त्रुटि है:

कॉन्फ़िगर त्रुटि: अपर्याप्त अनुमतियों के कारण कॉन्फ़िगरेशन फ़ाइल नहीं पढ़ी जा सकती है
कॉन्फ़िगर फ़ाइल: \? \ C: \ उपयोगकर्ता ***** \ दस्तावेज़ \ Visual Studio2010 \ WebSites \ PointsForTime \ web.config


आईआईएस_आईयूएसआरएस अनुमति के बावजूद फ़ाइल को केवल पढ़ने के लिए चिह्नित नहीं किया गया है, यह जांचें कि यह वही संदेश प्रदर्शित करेगा।


कभी-कभी यदि यह एक नया सर्वर है तो आपको अपनी वेब.कॉन्फिग फ़ाइल को पढ़ने में सक्षम होने के लिए आईआईएस पर एएसपी.NET सुविधा को कॉन्फ़िगर या स्थापित करने की आवश्यकता है।

मेरे मामले में यही कारण था।


किसी कारण से आपका web.config केवल पढ़ने के रूप में सेट किया गया है। Web.config फ़ाइल के रीडोनली विकल्प को अनचेक करें।


जब मैं साइट रूट फ़ोल्डर को किसी अन्य उपयोगकर्ता के साथ साझा करने का प्रयास करता था तो मुझे वही समस्या थी। कुछ फ़ोल्डर अनुमति खो दिया। इसलिए मैंने अफिसन घ द्वारा सुझाए गए आईआईएस_आईयूएसआरएस समूह को अनुमति जोड़ने के लिए कदमों का पालन किया। समस्या यह है कि यह समूह मेरे लिए उपलब्ध नहीं था। मैं विंडोज 7 का उपयोग कर रहा हूँ।

मैंने क्या किया मैंने अभी कुछ कदम बदल दिए:

  1. मूल फ़ोल्डर पर राइट क्लिक करें (जिसने अनुमति खो दी है)
  2. गुण => सुरक्षा => "समूह या उपयोगकर्ता नाम:" में,
  3. संपादित करें पर क्लिक करें ...
  4. विंडो "आपके फ़ोल्डर के लिए अनुमति" खोला जाएगा।
  5. "समूह या उपयोगकर्ता नाम:" में ADD दबाएं ... बीटीएन,
  6. ऑथेन टाइप करें और चेक नाम दबाएं,
  7. आपको पूरा समूह नाम " प्रमाणीकृत उपयोगकर्ता " दिखाई देगा
  8. ठीक => लागू करें दबाएं।
  9. यह फिर से विशेषाधिकार सक्षम करना चाहिए।

यह मेरे लिए काम किया।


निश्चित रूप से, यह अनुमतियों के साथ एक मुद्दा है। मैंने निम्नलिखित कदम उठाए और यह मेरे लिए काम किया।

  1. बाएं कोने में अपनी वेबसाइट या एप्लिकेशन का चयन करें। ज्यादातर मामलों में यह डिफ़ॉल्ट वेबसाइट के तहत होगा।
  2. आईआईएस प्रबंधक 7 या उससे ऊपर के दाएं कोने पर मूल सेटिंग्स पर क्लिक करें।
  3. बटन के रूप में कनेक्ट करें पर क्लिक करें।
  4. " विशिष्ट उपयोगकर्ता " का प्रयोग करें, सेट बटन पर क्लिक करें।
  5. अपना यूज़रनेम और पासवर्ड प्रविष्ट करें। डोमेन \ उपयोगकर्ता नाम की तरह। मेरे लिए यह एबीसी \ rrajkumar की तरह था, पासवर्ड दर्ज करें।
  6. आईआईएस पुनरारंभ करें, अपनी वेबसाइट ब्राउज़ करें। यह अब काम करना चाहिए।

फ़ाइल को IIS_IUSRS समूह में पहुंच योग्य बनाएं। अपने web.config पर राइट क्लिक करें, गुणों का विस्तार करें, और सुरक्षा टैब के अंतर्गत, IIS_IUSRS जोड़ें। समूह को पढ़ने / लिखने का उपयोग दें।

जब समूह उपलब्ध नहीं है, तो IIS_IUSRS को ComputerName \ IIS_IUSRS द्वारा प्रतिस्थापित करें



मेरे पास एक ही समस्या थी और उत्तर के रूप में यहां लिखी गई सभी चीजें करने के बाद, यह अभी भी पुन: उत्पन्न हुआ। इस मुद्दे का दूसरा भाग यह तथ्य था कि "विंडोज़ विंडो चालू या बंद" के तहत .NET बंद कर दिया गया था।


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

इसके अलावा, स्वीकृत उत्तर इस तरह के मामले के लिए काम नहीं करता है। स्थानीय उपयोगकर्ता या आईआईएस उपयोगकर्ता अनुमतियां असाइन करने के लिए उपलब्ध नहीं थे। समाधान भौतिक फ़ोल्डर को स्थानीय ड्राइव में ले जाना था।


मेरे लिए मेरी स्थानीय मशीन पर डिबगिंग के दौरान त्रुटि आई और बेस वेब.कॉन्फिग से संबंधित होने के लिए बाहर निकला, जिसे वेबसाइट संकलित करते समय .NET Framework द्वारा शुरू किया गया है। मेरा सी: \ विंडोज \ माइक्रोसॉफ्ट.NET \ Framework64 \ v4.0.30319 \ Config \ web.config फ़ाइल में एक अपरिचित तत्व (फ़ोल्डरLevelBuildProviders) था। इस फिक्सिंग को 500.1 9 त्रुटि तय करना।

इसे देखें: आईआईएस प्रबंधक .NET 4 अनुप्रयोगों पर .NET संकलन को कॉन्फ़िगर नहीं कर सकता है


मैं "अपर्याप्त अनुमतियों के कारण कॉन्फ़िगरेशन फ़ाइल नहीं पढ़ सकता" भी प्राप्त कर रहा था। एएसपी.नेट 4.0 32 बिट और 64 बिट दोनों के लिए आईआईएसआई में आईएसएपीआई और सीजीआई प्रतिबंधों को रद्द करने के लिए सेट किया गया था। अनुमोदित दोनों को मेरी समस्या को ठीक करने के लिए उन्हें चिह्नित करना।


मैंने अनुमति दी और ICACLS.exe का उपयोग किया लेकिन काम नहीं किया। तब मैंने भौतिक पथ बदल दिया और यह सफलतापूर्वक काम किया।

(आईआईएस 8.5 विंडोज 2012 आर 2)


मैंने एप्लिकेशन पूल उपयोगकर्ता (विन सर्वर 2008 आर 2) के फ़ोल्डर में पढ़ने की अनुमति जोड़कर इसे हल किया है: सी: \ विंडोज \ System32 \ inetsrv \ config

एक छोटी सी पृष्ठभूमि: हमारे सर्वर को शास्त्रीय त्रुटि का उपयोग करके हैक किया गया है जहां ऐप उपयोगकर्ता को अधिक अनुमतियां थीं (स्थानीय व्यवस्थापक)।

इसे ठीक करने के लिए हमने नए डोमेन उपयोगकर्ता को बनाया है जिसमें केवल न्यूनतम आवश्यक अधिकारों के साथ एप्लिकेशन फ़ोल्डर पर अनुमतियां थीं और इसे एप्लिकेशन पूल उपयोगकर्ता के रूप में असाइन किया गया था। हम इस मुद्दे पर हिट करने की तुलना में और यह हमारी समस्याओं का समाधान था।


यह हमारे साथ हुआ जब आईआईएस अनुप्रयोग में एक भौतिक पथ के साथ एक वर्चुअल निर्देशिका है जिसमें बैकस्लैश के बजाय आगे-स्लेश / स्लाइड शामिल हैं। यह हमारी निरंतर वितरण प्रक्रिया के दौरान आईआईएस के लिए पावरहेल प्रबंधन API का उपयोग करके गलती से किया गया था।

खराब कॉन्फ़िगर उदाहरण - applicationHost.config

<application path="/MySite/MyService" applicationPool="MyAppPool" enabledProtocols="http">
    <virtualDirectory path="/" physicalPath="C:\inetpub\MySite/MyService" />
</application>

सुनिश्चित करें कि physicalPath विशेषता में आगे-स्लैश / / केवल बैकस्लैश नहीं हैं \

सही कॉन्फ़िगर उदाहरण - applicationHost.config

<application path="/MySite/MyService" applicationPool="MyAppPool" enabledProtocols="http">
    <virtualDirectory path="/" physicalPath="C:\inetpub\MySite\MyService" />
</application>

राइट क्लिक करें Web.Config => टैब सुरक्षा => बटन संपादित करें => बटन जोड़ें => बटन उन्नत => बटन अब खोजें => खोज परिणामों में अपने समूह का चयन करें (हमारे मामले में "IIS_IUSRS") => ठीक => ठीक => ठीक


सी के अलावा किसी अन्य ड्राइव पर अपनी परियोजना को शिफ्ट करें: एक ही त्रुटि के साथ मेरे लिए काम किया।


सुनिश्चित करें कि आपकी web.config फ़ाइल केवल पढ़ने के लिए चिह्नित नहीं है


हमारे पास ऐपपूल में एक विशिष्ट पहचान के साथ चल रही एक वेबसाइट थी, केवल उस उपयोगकर्ता को वेब.कॉन्फिग युक्त फ़ोल्डर तक पहुंच पढ़ने के बाद ही यह काम करेगा। हमने 'हर कोई' उपयोगकर्ता को पढ़ने के साथ जोड़ने के बाद इसे ट्रैक किया और सब ठीक काम किया।






file-permissions