मेरे पास एक वेबसाइट का दो भाग हैं जिन पर मैं काम कर रहा हूं: वह जो सामान्य रूप प्रमाणीकरण का उपयोग करता है और दूसरा जो एचएमएसी-आधारित प्रमाणीकरण का उपयोग करता है। फॉर्म आधारित एक सामान्य के रूप में काम करता है (कस्टम सदस्यता प्रदाता का उपयोग करने के अलावा)।विभिन्न क्षेत्रों के लिए अलग प्रमाणीकरण मोड
सबसे निराशाजनक बात यह है कि डिफ़ॉल्ट रूप से, यदि कोई फॉर्म प्रमाणीकरण का उपयोग करने का निर्णय लेता है तो यह प्रमाणीकरण टैग के तहत रूट Web.config में निर्दिष्ट loginUrl में सभी 401 प्रतिक्रियाओं को पुनर्निर्देशित करता है। मेरी साइट के एचएमएसी भाग के लिए इसे बंद करने के प्रयास में मैंने एक अलग क्षेत्र बनाया है जो कि नियंत्रक रहते हैं। हालांकि, कोई फर्क नहीं पड़ता कि मैंने <authentication mode="None"></authentication>
टैग रखा है (चाहे वह क्षेत्र/दृश्य वेब.कॉन्फिग में हो, एक Web.config मैंने क्षेत्र फ़ोल्डर में रखा है, या रूट Web.config में किसी स्थान टैग के अंतर्गत रखा है (ऐसा करने से वास्तव में उस टैग के बारे में कोई त्रुटि नहीं होती है)) मैं यह बात नहीं कर सकता कि यह सब कुछ 401s को रीडायरेक्ट करना बंद कर दे loginUrl।
किसी भी सहायता की बहुत सराहना की जाएगी क्योंकि इससे मुझे अपने बालों को फाड़ने में मदद मिल रही है।
वैसे, इस सवाल से कम से कम 2times को बिना किसी (व्यवहार्य) प्रतिक्रियाओं के विभिन्न तरीकों से पूछा गया है। जबकि मेरा प्रमाणीकरण मोड को किसी भी पर सेट करने पर केंद्रित नहीं है, वहीं आमतौर पर पथों के लिए भूमिकाओं को बदलने पर ध्यान केंद्रित किया जाता है (जो मेरी राय में प्रत्येक विधि पर [Authorize(Roles="role1,role2,role3")]
विशेषता के साथ करना आसान है) जो मेरा प्रश्न थोड़ा अलग बनाता है। यदि यह असंभव है, तो कृपया मुझे बताएं ताकि मैं ऐसा करने का बेहतर तरीका समझ सकूं।
क्या यह अभी भी दिसंबर 2013 में एमवीसी 5 की उम्र में मामला है? – Kjensen
@ केजेन्सन, हां, यह नए आईआईएस पाइपलाइन मॉडल की अंतर्निहित सीमा है। यदि आपको दो अलग-अलग स्रोतों से प्रमाणित करना होगा, तो आप फॉर्म प्रमाणीकरण का उपयोग कर सकते हैं और एक कस्टम सदस्यता प्रदाता लिख सकते हैं। एक ही समय में दोनों रूपों और विंडोज प्रमाणीकरण को सक्षम करना समर्थित नहीं है। – JamieSee