क्या फॉर्म प्रमाणीकरण के LoginUrl को गतिशील रूप से बदलने का कोई तरीका है? मेरे पास FormsAuth द्वारा संरक्षित पूरी साइट है, लेकिन किसी उप फ़ोल्डर में कुछ पृष्ठों के लिए, मैं उपयोगकर्ता को अलग-अलग लॉगिन पेज पर ले जाना चाहता हूं, और FormsAuth को ReturnUrl सामग्री को संभालना है। क्या यह संभव है या क्या मुझे उप फ़ोल्डर मामलों के लिए अपना खुद का रीडायरेक्ट कोड लिखना है?कुछ मामलों में प्रपत्र प्रमाणीकरण LoginUrl को ओवरराइड/बदलने के लिए कैसे करें
<forms loginUrl="~/Splash.aspx" ... />
संरक्षित * .aspx पृष्ठों की सभी है
<deny users="?">
क्या मैं:
~/LogOn1.aspx
~/Protected1.aspx
~/Protected2.aspx
~/Subfolder/
~/Subfolder/LogOn2.aspx
~/Subfolder/NotProtected.aspx
~/Subfolder/Protected3.aspx
तो मेरी web.config की तरह दिखता है:
यहाँ एक उदाहरण लेआउट है हालांकि, उपयोगकर्ता के अज्ञात होने पर ~/Subfolder/Protected3.aspx को ~/Subfolder/LogOn2.aspx पर रीडायरेक्ट किया जाना है।
मैंने किया था ~/सबफ़ोल्डर/web.config में web.config के नीचे छीन संस्करण डालने की कोशिश:
<?xml version="1.0"?>
<configuration>
<system.web>
<authentication mode="Forms">
<forms loginUrl="~/Subfolder/LogOn.aspx" name="SiteAuth" protection="All" timeout="30" path="/" defaultUrl="~/Subfolder/default.aspx" requireSSL="true" cookieless="UseCookies" enableCrossAppRedirects="false" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</configuration>
लेकिन सब है कि मुझे हो जाता है इस त्रुटि है:
It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.
मुझे लगता है कि Subfolder dir को एक एप्लिकेशन बनाने से इस बिंदु पर और भी समस्याएं पैदा हो सकती हैं, लेकिन शायद मैं गलत हूं। यदि यह एक आवेदन था, तो क्या वह शेष कोड को बाकी/से सबफ़ोल्डर में अलग-अलग ऐप से अलग नहीं करेगा?
जब आप गतिशील रूप से कहते हैं, तो क्या आप सबफ़ोल्डर में केवल कुछ पेजों को कुछ समय पर loginurl पर रीडायरेक्ट करना चाहते हैं? या क्या आप सबफ़ोल्डर में सभी पेजों को हमेशा लॉगिनरल पर रीडायरेक्ट करना चाहते हैं? – rahkim
मेरे पास सबफ़ोल्डर में कुछ पृष्ठ हैं जो अज्ञात पहुंच की अनुमति देते हैं, इसलिए उन्हें रीडायरेक्ट करने की आवश्यकता नहीं है। लेकिन उपफोल्डर में पृष्ठ जो इनकार करते हैं = "?" मैं ~/subfolder/LogOn.aspx पर रीडायरेक्ट करना चाहता हूं, जहां सबफ़ोल्डर के बाहर साइट के सुरक्षित पृष्ठ शेष ~/LogOn.aspx पर रीडायरेक्ट हो जाते हैं। – slolife
क्या लिंक मदद करता है? – rahkim