में वाईआईएफ प्रमाणीकरण से विशिष्ट पथ को बहिष्कृत करें हमने की सहायता से हमारे एएसपी.NET 4.5 एमवीसी 4 प्रोजेक्ट में विंडोज पहचान नींव (डब्ल्यूआईएफ) सफलतापूर्वक कॉन्फ़िगर किया है ... एक्सटेंशन विजुअल स्टूडियो 2012 के लिए। लेकिन अज्ञात पहुंच की अनुमति देने के लिए प्राधिकरण से विशिष्ट पथ को बाहर करने में असमर्थ हैं।एएसपी.नेट एमवीसी 4 प्रोजेक्ट
जब हम अपने डिफ़ॉल्ट मार्ग (यानी /Home
) तक पहुंचते हैं, तो निष्क्रिय पुनर्निर्देशन हमें कॉन्फ़िगर किए गए जारीकर्ता उरी को रीडायरेक्ट करेगा। यह सही है। लेकिन अब मान लें कि हम एसटीएस प्रमाणीकरण से पथ /Guest
को बाहर करना चाहते हैं ताकि सभी एसटीएस जारीकर्ता को भेजे गए मधुमक्खी के बिना http://ourhost/Guest
तक पहुंच सकें। केवल स्थिर दस्तावेज वहां स्थित हैं। Web.config
से
स्निपेट्स:
<system.identityModel>
<identityConfiguration>
<audienceUris>
<add value="http://ourhost/" />
</audienceUris>
<issuerNameRegistry type="System.IdentityModel.Tokens.ConfigurationBasedIssuerNameRegistry, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<trustedIssuers>
<add thumbprint="9B74****40D0" name="OurSTS" />
</trustedIssuers>
</issuerNameRegistry>
<certificateValidation certificateValidationMode="None" />
</identityConfiguration>
</system.identityModel>
<system.identityModel.services>
<federationConfiguration>
<cookieHandler requireSsl="false" />
<wsFederation passiveRedirectEnabled="true" issuer="http://oursts/Issue" realm="http://ourhost/" reply="http://ourhost/" requireHttps="false" />
</federationConfiguration>
</system.identityModel.services>
इसके अलावा हमारे पास ...
<system.webServer>
<!-- ... -->
<modules runAllManagedModulesForAllRequests="true">
<add name="WSFederationAuthenticationModule" type="System.IdentityModel.Services.WSFederationAuthenticationModule, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="managedHandler" />
<add name="SessionAuthenticationModule" type="System.IdentityModel.Services.SessionAuthenticationModule, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="managedHandler" />
<remove name="FormsAuthentication" />
</modules>
</system.webServer>
और अंत में:
:<system.web>
<!-- ... -->
<authentication mode="None" />
</system.web>
हम सफलता के बिना निम्नलिखित की कोशिश की
हमने सफलता के बिना, इस फ़ोल्डर में एक छोटी Web.config फ़ाइल डालने का भी प्रयास किया। इससे कोई फर्क नहीं पड़ता कि हम ब्राउज़र में किस उरी को ढूंढते हैं, हम हमेशा रीडायरेक्ट होते हैं।
इसे पूरा करने का सही तरीका क्या है?
संपादित
हटाया पिछले Eugenios answer करने के लिए "जवाब स्वीकार", सेट "स्वीकार किए जाते हैं जवाब है" के रूप में इस और अधिक उपयोगी जबाब है।
धन्यवाद यूगेनियो, हम Visual Studio 2012 का उपयोग कर रहे हैं और "एसटीएस संदर्भ जोड़ें" नहीं है अब और उपलब्ध है, आपको "पहचान और एसी" का उपयोग करना होगा सेस ... "इसके बजाय उपकरण। मुझे लगता है कि मैं समाधान के करीब हूं, ऐसा लगता है कि 'passiveRedirectEnabled = "true" 'किसी भी विशेषता के उपयोग के बावजूद मुझे एसटीएस पर रीडायरेक्ट कर रहा था।कस्टम प्रमाणीकरण विशेषता के अंदर कुछ पुनर्निर्देशन सहायताकर्ताओं का उपयोग करके 'झूठी' पर सेट करना और रीडायरेक्ट करना अभी बहुत अच्छा लगता है। जब मैं कर रहा हूं तो मेरा समाधान पोस्ट करूँगा, धन्यवाद! – thmshd
मैं देखता हूं। इसे passiveRedirectEnabled = true के साथ भी काम करना चाहिए। मैं अपने सिस्टम पर भी जांच करूंगा। –
क्योंकि मुझे वास्तव में passiveRedirectEnabled विकल्प सक्षम करने में समस्याएं थीं, मैं समाधान के रूप में अपना उत्तर स्वीकार करना चाहता हूं, लेकिन मैं वास्तव में इस विषय पर आपकी सहायता की सराहना करता हूं और मेरा मानना है कि यह शायद भी काम कर रहा है, लेकिन हो सकता है कि समाधान कहीं भी दफन हो आईआईएस सेटअप के साथ संयोजन में मेरी 'web.config' सेटिंग्स। आपके समय के लिए धन्यवाद, वास्तव में सराहना की! – thmshd