2010-02-08 11 views
5

के बिना काम नहीं कर सकता मैं कस्टम सुरक्षा (कोई सदस्यता प्रदाता नहीं) का उपयोग कर रहा हूं। उपयोगकर्ता लॉग इन करने के बाद ... ASPNETDB.MDF के साथ एक फ़ोल्डर "App_Data" स्वचालित रूप से बनाया जाता है ... मेरी स्थानीय मशीन पर। अगर मैं इसे दूरस्थ सर्वर पर तैनात करता हूं, तो यह App_Data पर सुरक्षा बाधाओं के कारण काम नहीं करेगा।Asp.net mvc App_Data

भले ही मैं इस फ़ोल्डर को हटा दूं और एप्लिकेशन को पुनरारंभ करता हूं ... फिर भी इसे फिर से बनाया गया है, भले ही मैंने सदस्यता/भूमिकाओं/प्रोफाइल प्रदाताओं के सभी संदर्भ हटा दिए ... कोड में कुछ भी नहीं उपयोग किया गया ... बस सादा पुराना FormsAuthentication।

यह कैसे हो रहा है?

+0

क्या यह एक web.config चीज हो सकता है? संबंधित कॉन्फ़िगरेशन डेटा कैसा दिखता है? – ziya

+0

मैंने अपना web.config जोड़ा ... मुझे नहीं लगता कि यह समस्या है! –

+0

क्या आप मौके से निर्मित "वेब साइट एडमिनिस्ट्रेशन टूल" का उपयोग कर रहे हैं? – mxmissile

उत्तर

1

अभी भी आपके कोड में एक जगह होनी चाहिए जहां सदस्यता/भूमिकाएं/प्रोफ़ाइल-सेवा का उपयोग किया जा रहा है। यदि प्रदाता निर्दिष्ट नहीं है, तो Asp.Net डिफ़ॉल्ट => का उपयोग करता है जो .mdf फ़ाइल बनाता है।

.mdf फ़ाइल बनाने के लिए Asp.Net के लिए अपने विकास वातावरण में असंभव बनाओ: उदा। उस ऐप_Data से सभी अधिकारों को हटाएं, एक टेक्स्ट फ़ाइल में डालें और इसे एएसपीएनईटीडीबी.एमडीएफ या कुछ ऐसा नाम दें ...

इस तरह आपको डीबग मोड में क्रैश मिलता है। फिर आप देख सकते हैं, वह लाइन क्या है जो सेवा => का उपयोग करने का प्रयास करती है जो तब डिफ़ॉल्ट प्रदाता => डीबी-फाइल बनाता है।

+0

स्वागत ... मैं इसे एक कोशिश –

+0

काम किया है यही कारण है कि दे देंगे ... मैं फ़ाइल संरक्षित शून्य Application_AuthenticateRequest() { अगर Global.asax में सदस्यता के लिए एक संदर्भ पाया (उपयोगकर्ता! = नल) सदस्यता .GetUser (सही); } –