2012-07-26 12 views
5

में "डिफ़ॉल्ट दस्तावेज़" के कारण एएसपीनेट एप्लिकेशन में दो बार लॉगिन करने के बाद, मैंने login.aspxमें डिफ़ॉल्ट दस्तावेज़ अनुभाग IIS में अनुभाग जोड़ा था।आईआईएस

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

जैसे ही मैं आईआईएस में डिफ़ॉल्ट दस्तावेज़ अनुभाग से login.aspx नष्ट कर दिया, और उपयोगकर्ता आवेदन (~/login.aspx) पूर्ण लिंक प्रदान की के रूप में, के रूप में यह था समस्या चला गया था केवल एक बार लॉगिन करने की आवश्यकता है।

क्या किसी को पता है कि यह क्यों हो रहा है?

उत्तर

1

प्रदान करने के लिए, डिफ़ॉल्ट दस्तावेज़ के Page_Load घटना में की आवश्यकता होगी चाहते हैं, तो निम्न बातें जाँच की जानी चाहिए स्रोत: asp.net Form Authentication change .net 2 to .net4

0

क्या आपके पास इंडेक्स पेज डिफ़ॉल्ट और वर्तमान के रूप में सेट है?

अपने दुर्लभ जानकारी से मैं एक स्पष्टीकरण (संभव कई के) पा सकते हैं:

पहले आप (login.aspx निर्दिष्ट किए बिना) yoursite.com के लिए मिलता है यह दृश्यों लेकिन यूआरएल रहता पीछे Login.aspx पर रीडायरेक्ट वही। जब आप login.aspx से सबमिट करते हैं तो यह शायद किसी अन्य (मौजूदा) पृष्ठ पर जाता है, जो उपयोगकर्ता को login.aspx पर रीडायरेक्ट करता है (इस बार यूआरएल को फिर से लिखना)।

if (this.User.Identity.IsAuthenticated) 
{ 
    Response.Redirect("somepage.aspx"); 
} 

:

आप बेहतर व्याख्या आप इस समस्या को हल करने के लिए और अधिक जानकारी के

+0

आपके उत्तर के लिए धन्यवाद। दुर्भाग्यवश, कोई अन्य पृष्ठ नहीं है जिसके लिए यह 'दृश्यों के पीछे' रीडायरेक्ट कर रहा है। मुझे अधिक जानकारी देने में खुशी होगी कि आप मेरे प्रश्न के लिए प्रासंगिक पा सकते हैं। कृपया, मुझे बताएं – aleafonso

+0

आपका login.aspx इसमें एक फॉर्म है, यह फ़ॉर्म कुछ पेज पर पोस्ट करता है, वह पृष्ठ जो फ़ॉर्म इनपुट को संसाधित करता है (उपयोगकर्ता नाम और पासवर्ड मान्य करता है) [formProcessor.aspx] सामान्य प्रसंस्करण पृष्ठ पर रीडायरेक्ट करता है [ validUser.aspx] यदि उपयोगकर्ता नाम और पासवर्ड वैध हैं या login.aspx पर वापस हैं तो वे अमान्य हैं। यहां मैं सामान्य मानक व्यवहार का वर्णन करता हूं जो स्क्वायर ब्रैकेट में संदर्भ के लिए उदाहरण पृष्ठ नाम देता है क्योंकि आप मुझे कोई विवरण नहीं देते हैं। जब लॉगिन फॉर्म [formProcessor.aspx] को सबमिट करता है तो यह प्रसंस्करण पृष्ठ संदर्भकर्ता को यह देखने के लिए जांच सकता है कि अनुरोध login.aspx से आता है। –

+0

अपने जीवन को सरल बनाने के बजाय क्लाइंट साइड रीडायरेक्ट को जोड़ने के लिए। –

0

Global.asax में इन पंक्तियों को जोड़ने

void Application_BeginRequest(object sender, EventArgs e) 
{ 
    if (Request.QueryString.ToString().EndsWith("ReturnUrl=%2f")) 
       System.Web.HttpContext.Current.Response.Redirect("~/login.aspx"); 

    if (Request.AppRelativeCurrentExecutionFilePath == "~/") 
     HttpContext.Current.RewritePath("login.aspx");//This is the default page to navigate after a successful login. 

} 

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^