2010-04-21 11 views
5

मेरे एएसपी.नेट एमवीसी प्रोजेक्ट में डिफ़ॉल्ट नियंत्रक [प्राधिकृत] विशेषता के साथ सजाया गया है। जब मैं अपनी विकास मशीन पर वेबसाइट को तैनात करता हूं और वेबसाइट तक पहुंचता हूं, तो मुझे लॉगिन पेज पर रीडायरेक्ट किया जाता है (वेब। कॉनफिग के फॉर्म लॉगिन यूआरएल अनुभाग में परिभाषित)। परिणाम: सब कुछ अपेक्षित के रूप में काम करता है।एएसपी.नेट एमवीसी: डिफ़ॉल्ट पृष्ठ पर AuthorizeAttribute

जब मैं अपने उत्पादन सर्वर (विंडोज सर्वर 2008, आईआईएस 7, DefaultAppPool) पर वेबसाइट प्रकाशित करता हूं और वेबसाइट तक पहुंचता हूं, तो अपेक्षित पता पता बार (/Account/LogOn?ReturnUrl=*my_expected_return_url*) में दिखाया गया है, लेकिन पृष्ठ प्रदर्शित करता है "आपके पास अनुमति नहीं है इस निर्देशिका या पेज को देखने के लिए। " लॉगिन पेज के बजाय। यदि मैं डिफ़ॉल्ट नियंत्रक/क्रिया पर [प्राधिकरण] विशेषता को हटा देता हूं, तो पृष्ठ सही तरीके से प्रदर्शित होता है।

मेरे Web.Config फ़ाइल:

sessionState mode="InProc" timeout="30" 
    authentication mode="Forms" 
     forms loginUrl="~/Account/LogOn" timeout="2880" 
+0

सुनिश्चित करें कि आपके पास साइट के मूल फ़ोल्डर में कोई अन्य web.config नहीं है। –

+0

क्या आपके पास अपनी रूट निर्देशिका में Default.aspx नाम की फ़ाइल है? इसके अलावा, कृपया उपयोग करें .net फ्रेमवर्क, asp.net और asp.net mvc का संस्करण जोड़ें। –

उत्तर

1

आप अपने web.config में एक वर्ग को स्पष्ट रूप से गैर अधिकृत उपयोगकर्ताओं ~/Account/LogOn पृष्ठ का उपयोग करने की अनुमति है?

<configuration> 
    <location path="~/Account/LogOn"> 
    <system.web> 
     <authorization> 
     <allow users="*" /> 
     <allow users="?" /> 
     </authorization> 
    </system.web> 
    </location> 
</configuration> 
संबंधित मुद्दे