2010-01-08 14 views
9

हे सब। मेरे पास एक एएसपी.नेट एमवीसी एप्लीकेशन है जिसे मैं जल्द ही लाइव सर्वर पर तैनात करने जा रहा हूं। सैद्धांतिक रूप से, मैं पासवर्ड को अंतर्निहित कोड आधार या आवेदन के भीतर सदस्यता को संशोधित किए बिना बीटा परीक्षण के दौरान एप्लिकेशन की रक्षा करना चाहता हूं। मेरे पास कई लोग बीटा परीक्षण होंगे, इसलिए यह अनिवार्य है कि यह वेब पर उपलब्ध है। एक साधारण परिदृश्य:बीटा परीक्षण के लिए एएसपी.नेट एमवीसी अनुप्रयोग को सुरक्षित करना?

  1. उपयोगकर्ता बीटा के तहत आवेदन पर जाता
  2. शायद एक HttpHandler अनुरोध पर कार्रवाई करने और उन्हें किसी मध्यवर्ती, अस्थायी प्रवेश पृष्ठ जहां वे आवेदन का उपयोग करने के एक बीटा पासवर्ड दर्ज करने के लिए रीडायरेक्ट करेगा

स्टैक ओवरफ्लो बीटा परीक्षण के तहत एक समान तकनीक का उपयोग करता था। कोई विचार?

स्पष्टीकरण के लिए एक संपादन। मेरे पास इस विशेष एप्लिकेशन के लिए आईआईएस तक पहुंच नहीं है क्योंकि मैं एक प्रबंधित होस्ट का उपयोग कर रहा हूं।

+0

क्या आप सदस्यता प्रदाता के लिए एक इंटरफ़ेस प्रदान कर सकते हैं, और जब आप लाइव रहते हैं तो उस इंटरफ़ेस के कार्यान्वयन को बदल सकते हैं? –

+0

अच्छा, मुझे यकीन नहीं है। मैं ओपनआईडी का उपयोग अपने सदस्यता प्रदाता के रूप में कर रहा हूं। – user135383

+0

मैंने पहले एक समान प्रश्न पूछा लेकिन इसे अधिक गतिविधि नहीं मिली, इसलिए मुझे यह फिर से देखने में खुशी हुई। यहां अधिक इनपुट: http://stackoverflow.com/questions/1171897/what-is-the-most-unobtrusive-way-to-add-a-layer-of-security-for-a-private-beta-of –

उत्तर

1

एक जोड़े को विचार: आईआईएस

  • में पूरे आवेदन/साइट विचार आप का उल्लेख भी एक अच्छा दृष्टिकोण IMO है के लिए

    1. उपयोग विंडोज़ प्रमाणीकरण, कार्यान्वयन शायद उस मामले में लचीला होगा।
  • +0

    मैं आईआईएस को इसे संभालने की अनुमति देने पर सहमत हूं। बस कुछ क्लिक करें और फिर आप किसी भी समय निर्माण करने में व्यतीत नहीं करते हैं जिसे आपको बाद में पूर्ववत करना होगा। –

    +0

    क्षमा करें, मैंने यह उल्लेख करने के लिए उपेक्षित किया कि मैं आईआईएस तक नहीं पहुंच सकता क्योंकि मैं एक प्रबंधित समाधान का उपयोग कर रहा हूं। – user135383

    0

    जब आप विजुअल स्टूडियो में एक नई एएसपी.नेट एमवीसी परियोजना को क्रेट करते हैं, तो आप स्वचालित रूप से खाता नियंत्रक प्राप्त करते हैं जो लॉगिन तंत्र प्रदान करने के लिए एएसपी.नेट के अंतर्निहित सदस्यता प्रदाता का उपयोग करता है।

    भले ही आपके पास अपने अंतिम एप्लिकेशन में नहीं है, फिर भी आप इसे एक अस्थायी समाधान के रूप में उपयोग कर सकते हैं जब तक कि आप अपनी वास्तविक सुरक्षा तंत्र को ऊपर और चलते न हों।

    यह आपको उन एएसपी.NET सेवाओं के लिए एक SQL सर्वर डेटाबेस सेट अप करने की आवश्यकता है, लेकिन इस पर निर्भर करता है कि आप इसके साथ कितने परिचित हैं, आप इसे कुछ मिनटों में दस मिनट के भीतर कर सकते हैं।

    जब सार्वजनिक बीटा खत्म हो गया है, तो आप खाता नियंत्रक और डेटाबेस को छोड़ सकते हैं।

    0

    मैं धल्क के साथ हूं - आईआईएस पर विंडोज प्रमाणीकरण का उपयोग करें। वह मार्ग आपको को अपने आवेदन में प्रमाणीकरण कोड डालने से बचने की अनुमति देगा। सरल बेहतर है, और मैं सदस्यता प्रणाली को लागू करने के लिए काम करने से बचाना चाहता हूं, फिर un - इसे कार्यान्वित करें।

    0

    मैं एक साधारण लॉगिन देखें जो एक सत्र है कि आपके Global.asax फ़ाइल में Session_Start() पर जाँच हो जाता है सेट बनाना होगा ... जैसा तो:

    protected void Session_Start() 
    { 
        if (!Convert.ToBoolean(Session["authenticated"])) 
        { 
         // Redirect to the login View 
        } 
    } 
    

    जब आप अपने आवेदन को खोलने के लिए तैयार कर रहे हैं सभी के लिए, बस Global.asax फ़ाइल में कोड और कोड की तीन पंक्तियों को हटा दें।

    +0

    ठीक है, मैंने इसके बारे में सोचा, लेकिन दुर्भाग्य से, सत्र राज्य Application_Start ईवेंट में उपलब्ध नहीं है। – user135383

    +0

    फिर 'सत्र_स्टार्ट()' का उपयोग करने के बारे में कैसे? – roosteronacid

    +0

    बस चेक किया गया। आप 'सत्र_स्टार्ट() 'पर सत्र ऑब्जेक्ट तक पहुंचने में सक्षम हैं। बिलकुल :) – roosteronacid

    1

    आप एक त्वरित कस्टम AuthorizeAttribute को तार कर सकते हैं जो कस्टम ऑथ कुकी के लिए जांच करता है। बस बीटा के तहत अपने नियंत्रकों को सजाने के लिए और जब आप जाने के लिए तैयार हों तो उन्हें हटा दें।

    public class BetaTestAuthorize : AuthorizeAttribute 
        { 
         protected override bool AuthorizeCore(HttpContextBase httpContext) 
         { 
          //if(cookie checks out ok) 
           //return true; 
          //else 
           //httpContext.Response.Redirect("BetaLoginPage"); 
    
          return base.AuthorizeCore(httpContext); 
         } 
        } 
    

    तो जैसी कोई गतिविधि विधि है:

     [AcceptVerbs(HttpVerbs.Post)] 
         public ActionResult BetaLogin(string username, string password) 
         { 
          if(username == "whatever" && password == "whatever") 
          { 
           //create custom cookie 
           return RedirectToAction("Index", "Home"); 
          } 
          else 
           return View(); 
         } 
    
    0
    1. उपयोग अच्छे पुराने RoleProvider और एक बना सकते हैं -

      कुछ इस तरह (पी एस परीक्षण के बिना मक्खी पर ऐसा किया) बीटा भूमिका और इसे अधिकृत करें

    2. अपना स्वयं का प्राधिकरण बनाएं और आईपी पता या कुकी के लिए जांचें।
    संबंधित मुद्दे