स्थैतिक सामग्री के लिए IIS7 एकीकृत मोड में भूमिकाओं के साथ ASP.NET प्रमाणीकरण




iis-7 integrated-pipeline-mode (2)

IIS7 में स्थिर सामग्री के लिए एकीकृत प्रमाणीकरण मोड के साथ प्रयोग कर रहा हूं I मैंने इस अनुच्छेद में दिए निर्देशों का पालन किया: http://aspnet.4guysfromrolla.com/articles/122408-1.aspx अगर मैं प्रवेश स्थिति (जैसे लेख में) की अनुमति / अस्वीकार करने की अनुमति देता हूं तो यह ठीक काम कर रहा है। हालांकि मैं भूमिकाओं के आधार पर पहुंच को अनुमति / अस्वीकार करना चाहता हूं (भूमिका प्रदाता में बनाए गए ASP.NET का उपयोग करके)। जब मैंने वेब। कॉन्फ़िग में भूमिका "एडमिन" के लिए अनुमति नियम रखा और अन्य सभी उपयोगकर्ताओं के लिए नियम को अस्वीकार कर दिया तो मैं स्थिर फ़ाइलों तक पहुंच नहीं पा रहा हूं, जब भी मैं एक व्यवस्थापक के रूप में लॉगिन करता हूं। एक ही फ़ोल्डर में गैर-स्थिर सामग्री (एएसपीएक्स पृष्ठ) शामिल हैं जो कि केवल भूमिका प्रदाता की जानकारी के आधार पर ठीक ही पहुंचे हैं।

कोई विचार?


मैं कहूंगा कि सबसे अधिक संभावना अपराधी है कि स्थैतिक फाइलों को एएसपी.नेट द्वारा संसाधित नहीं किया जा रहा है लेकिन आईआईएस को छोड़ दिया जा रहा है।

क्या यह काम करता है यदि आप वाइल्डकार्ड स्क्रिप्ट मानचित्रण जोड़ते हैं?


अपने <system.webServer> <modules> ब्लॉक में निम्नलिखित को जोड़ने का प्रयास करें:

<configuration>
  <system.webServer>
    <modules>
      <remove name="FormsAuthentication" />
      <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" />
      <remove name="UrlAuthorization" />
      <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" />
      <remove name="DefaultAuthentication" />
      <add name="DefaultAuthentication" type="System.Web.Security.DefaultAuthenticationModule" />
      <remove name="RoleManager" />
      <add name="RoleManager" type="System.Web.Security.RoleManagerModule" />
    </modules>
  </system.webServer>
</configuration>

RoleManager बिट कुंजी है, और यह किसी भी ऑनलाइन उदाहरण में शामिल नहीं है जो मुझे मिल सकता है उस के बिना, उपयोगकर्ता की भूमिका सदस्यता स्थिर सामग्री के लिए प्रारंभ नहीं की जाती, इसलिए रोल-आधारित प्रमाणीकरण हमेशा असफल हो जायेगा।

(अस्वीकरण: आईआईएस की मेरी सीमित समझ के आधार पर मैंने इसे एक साथ मिलकर स्वयं इकट्ठा किया है, लेकिन यह काम करने लगता है।)

संपादित करें (आपकी टिप्पणी के जवाब में): क्षमा करें, मुझे यह पता नहीं है कि RoleManager अन्य मॉड्यूल पर निर्भर करता है। आप मॉड्यूल लोड किए जाते हैं उस क्रम को देखने के लिए c:\Windows\System32\inetsrv\config\applicationHost.config (कम से कम, जो मेरी विन्डोज़ विस्टा मशीन पर अतीत है) को देखते हुए आप डिफ़ॉल्ट आईआईएस कॉन्फ़िगरेशन देख सकते हैं (उपयोग नोट करें प्रबंधित हैंडलर के द्वारा गैर-स्टैटिक सामग्री के लिए रोलमैनेजर को प्रतिबंधित करने के लिए डिफ़ॉल्ट रूप से), और एमएसडीएन सिस्टम मैनेजमेंट के साथ बाकी सिस्टम के साथ RoleManagerModule को कवर करता है.वेब। सुरक्षितता नामस्थान, ताकि आप संभवत: मिल सकें कि आपको वहां क्या चाहिए।







integrated-pipeline-mode