2012-03-16 10 views
27

जब मैं आईआईएस एक्सप्रेस के कैसिनी वेब सर्वर से मेरी ASP.NET MVC परियोजना के लिए स्विच, यह मेरा applicationhost.config फ़ाइल में जोड़ा जाता है:आईआईएस एक्सप्रेस स्वचालित रूप से मेरे प्रोजेक्ट के लिए अनाम प्रमाणीकरण अक्षम कर रहा है, क्यों?

<location path="MyProject"> 
    <system.webServer> 
     <security> 
      <authentication> 
       <anonymousAuthentication enabled="false" /> 
       <windowsAuthentication enabled="false" /> 
      </authentication> 
     </security> 
    </system.webServer> 
</location> 

यह 401.2 के साथ लोड करने के लिए नहीं साइट पैदा - अनधिकृत और मैं नहीं कर सकता इसे Web.config स्तर पर ठीक करें - फिर शिकायत होगी कि अनुभाग पैरेंट स्तर (HTTP 500.19) पर बंद है।

मैं applicationhost.config फ़ाइल में संशोधन करके इसे ठीक कर सकता हूं लेकिन मुझे समझ में नहीं आ रहा है कि मुझे वैनिला एएसपी.नेट एमवीसी प्रोजेक्ट के लिए कोई ऐसा अनुभाग क्यों नहीं जोड़ा जाना चाहिए। क्या गलत हो सकता है?

मैं वीएस 11 बीटा का उपयोग कर रहा हूं लेकिन 2010 एसपी 1 में इस अजीब व्यवहार की पुष्टि भी कर रहा हूं। आईआईएस एक्सप्रेस का कहना है कि यह संस्करण 7.5 है।

उत्तर

58

यह क्योंकि किसी कारण था, यह मेरा csproj फ़ाइल में था:

<IISExpressAnonymousAuthentication>disabled</IISExpressAnonymousAuthentication> 

यह स्थापना enabled को ठीक करता है मुद्दा (यह भी दृश्य स्टूडियो, चयन परियोजना, F4 से किया जा सकता है, बेनामी सेट प्रॉपर्टी ग्रिड में सक्षम प्रमाणीकरण)।

+0

बोरेक, मेरे पास बिल्कुल वही समस्या है। मुझे लगता है कि वीएस 11 के साथ ऐसा कुछ है? (उसमें उन्होंने उन सेटिंग्स को लिखा) –

+1

धन्यवाद, मेरे पास वीएस 11 बीटा में एक ही समस्या थी। उपरोक्त सेटिंग को बदलना मेरे लिए समस्या को ठीक करता है। धन्यवाद! –

+0

अवेज़ @ बॉरेक ... मैं इस वजह से पागल हो रहा था! :) –

4

कृपया परियोजना पर राइट क्लिक करें और एफ 4 दबाए जाने से पहले आईआईएस एक्सप्रेस का चयन करें।

+1

Thx बहुत कुछ। मैं प्रोजेक्ट फ़ाइलों के संबंध में हमेशा टूलविंडो गुणों को भूल जाता हूं। – paulroho

+0

आपका स्वागत है। –

0

कभी-कभी, मुझे एक ही कठिनाई का सामना करना पड़ा, लेकिन मैं यहां जो कुछ देखता हूं उससे थोड़ा अलग था। मेरे लैपटॉप में मेरे पास वीएस 08 और वीएस 13, और एसक्यूएल सर्वर 2008 आर 2 और 11 जी एक्सई दोनों हैं। आर 2 से कनेक्ट होने वाली वेबसाइटों के लिए कभी भी कोई समस्या नहीं आई है, लेकिन जब मैं एएसपीनेट के साथ ऑरैक सदस्यता का उपयोग कर वेबसाइट बनाने की कोशिश कर रहा था, तो मैंने पाया कि पेज खुले हैं लेकिन रोल के साथ फ़ोल्डर के नीचे वाले पेज खुल रहे नहीं हैं और मुझे पहुंच से इनकार कर दिया गया है। यद्यपि फ़ोल्डर में एक उचित वेब.कॉन्फिग था और उपयोगकर्ता ने एक ही भूमिका के साथ बनाया था, फिर भी यह वही त्रुटि फेंक रहा था। अंत में मुझे एहसास हुआ कि मैं प्रमाणीकरण तंत्र जा रहा जरूरत है और इसलिए मैं web.config की system.web में निम्न कोड कहा:

<authentication mode="Forms"> 
<forms loginUrl="Login.aspx" protection="All" slidingExpiration="true" 
timeout="90" /> 
</authentication> 
<authorization> 
<deny users="?" /> 
</authorization> 
<identity impersonate="false"/> 
<trace 
enabled="false" 
requestLimit="10" 
pageOutput="false" 
traceMode="SortByTime" 
localOnly="true" 
/> 

और यह काम किया है, अब मेरे प्रमाणीकृत उपयोगकर्ताओं नामित फ़ोल्डरों loginto कर सकते हैं! मुझे आशा है कि यह किसी ऐसे व्यक्ति की मदद कर सकता है जिसने मेरे जैसे मुद्दों का सामना किया हो।