2011-08-16 21 views
5

हमारे पास एक एकीकृत आईआईएस 7 इंट्रानेट साइट है जो एकीकृत पाइपलाइन के तहत चल रही है जो ज्यादातर विरासत क्लासिक एएसपी पृष्ठों के साथ एएसपी.Net है। साइट अधिकांश क्षेत्रों में अनाम पहुंच की अनुमति देती है, लेकिन कुछ फ़ोल्डरों की सुरक्षा के लिए विंडोज प्रमाणीकरण का उपयोग करती है। संरक्षित फ़ोल्डर्स में एएसपी.Net पृष्ठों के लिए अनुरोध अपेक्षित व्यवहार करते हैं (अधिकृत उपयोगकर्ता उन्हें देख सकते हैं, अन्य को अस्वीकार कर दिया जाता है), लेकिन अनुमति के बावजूद कोई भी उपयोगकर्ता संरक्षित फ़ोल्डरों में कोई क्लासिक एएसपी पृष्ठ देख सकता है।विंडोज प्रमाणीकरण क्लासिक एएसपी पृष्ठों के लिए काम नहीं कर रहा है (लेकिन एएसपी.NET पृष्ठों के लिए काम करता है w/0)

मुझे संदेह है कि क्लासिक एएसपी पृष्ठों के अनुरोध के लिए विंडोज प्रमाणीकरण मॉड्यूल को नहीं बुलाया जा रहा है। हम एकीकृत पाइपलाइन मोड में चल रहे हैं, और मुझे यह आलेख मिला (http://learn.iis.net/page.aspx/244/how-to-take-advantage-of-the-iis7-integrated-pipeline/) जो इंगित करता है कि यदि आप non -ASP.Net अनुरोधों के लिए एकीकृत पाइपलाइन का लाभ उठाना चाहते हैं तो आपको मॉड्यूल को स्पष्ट रूप से हटाने और फिर से जोड़ने की आवश्यकता है।

<system.webServer> 
<modules> 
     <remove name="WindowsAuthentication" /> 
     <add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationModule" preCondition="" /> 
</modules> 
</system.webServer> 

हालांकि, क्लासिक ASP पृष्ठ अभी भी अनुमति की परवाह किए बिना कार्य किया जा रहा है: मैं लेख के उदाहरण केवल आवेदन जड़ में web.config के लिए निम्न जोड़कर WindowsAuthenticationModule साथ FormsAuthenticationModule की जगह नकल करने की कोशिश की।

उत्तर

2

क्लासिक एएसपी पृष्ठ पूरी तरह से web.config या किसी भी .config को अनदेखा करते हैं।

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

यह आपको साथ ही मदद कर सकता है:
IIS7: Setup Integrated Windows Authentication like in IIS6

+0

धन्यवाद @shadowWizard, लेकिन मैं उलझन में हूँ। मैंने सोचा कि एकीकृत पाइपलाइन के लाभों में से एक यह था कि आप किसी भी अनुरोध (एएसपी.Net, क्लासिक एएसपी, यहां तक ​​कि स्थैतिक सामग्री - एचटीएमएल और छवियों) के लिए एएसपी.Net सुरक्षा लागू कर सकते हैं। लेख से मैंने लिंक किया है: "हैंडलर की परवाह किए बिना, सभी अनुरोधों पर लागू होने के लिए मूल और प्रबंधित मॉड्यूल दोनों द्वारा प्रदान की जाने वाली सेवाएं प्रदान करना। उदाहरण के लिए, प्रबंधित फॉर्म प्रमाणीकरण का उपयोग एएसपी पृष्ठों, सीजीआई और स्थिर फ़ाइलों सहित सभी सामग्री के लिए किया जा सकता है। " यदि प्रबंधित प्रपत्र प्रमाणीकरण लागू किया जा सकता है, तो Windows प्रमाणीकरण प्रबंधित क्यों नहीं किया गया? –

+0

मैं इसमें कोई विशेषज्ञ नहीं हूं, लेकिन मुझे क्या पता है कि विंडोज प्रमाणीकरण का अर्थ निम्न है: सर्वर क्लाइंट ब्राउज़र को कुछ हेडर भेजता है, "कृपया स्वयं को पहचानें"। क्लाइंट ब्राउज़र या तो ब्राउज़र प्रकार और सेटिंग्स के आधार पर स्वचालित रूप से प्रमाण-पत्र भेजता है, या उपयोगकर्ता को टाइप करने के लिए कहता है। अब, यह सब "दृश्यों के पीछे" और ब्राउज़र/सर्वर संचार के निम्न स्तर पर हो रहा है। प्रपत्र प्रमाणीकरण उच्च स्तर है। यह मेरा चयन है, मुझे आशा है कि जो कोई बेहतर जानता है वह दिखाई देगा और इसे और अधिक सटीक समझाएगा। –