2008-10-01 6 views
9

आप उत्पादन मशीन पर एएसपीनेट एसक्यूएल सदस्यता भूमिका/सदस्यता प्रदाता कैसे स्थापित करते हैं? मैं BlogEngine.NET को सेट करने का प्रयास कर रहा हूं और सभी दस्तावेज विजुअल स्टूडियो से एएसपी.नेट वेबसाइट एडमिनिस्ट्रेशन टूल का उपयोग करने के लिए कहते हैं लेकिन यह उत्पादन मशीन पर उपलब्ध नहीं है। क्या मैं पहले ब्लॉगइंजिन उपयोगकर्ता को गैर-विकास बॉक्स पर उपयोग करने के लिए उपयोग कर रहा हूं?आप उत्पादन में एएसपीनेट एसक्यूएल सदस्यता भूमिकाओं/उपयोगकर्ताओं का प्रबंधन कैसे करते हैं?

SQL सर्वर पूरी तरह से सब कुछ से अवरुद्ध है लेकिन उत्पादन बॉक्स में, मेरे पास SQL ​​प्रबंधन स्टूडियो है हालांकि।

संपादित करें: मेरा मतलब है, आप नए उपयोगकर्ता/भूमिकाओं को कैसे जोड़ते हैं, न कि आप टेबल कैसे बनाते हैं। मैं स्कीमा बनाने के लिए पहले ही aspnet_regsql चला चुका हूं।

EDIT2: MyWSAT काम नहीं करता है क्योंकि इसे डेटाबेस में प्रारंभिक उपयोगकर्ता की भी आवश्यकता होती है। मुझे एक ऐसे एप्लिकेशन की ज़रूरत है जो मुझे सदस्यता डेटाबेस में नए प्रमाणीकरण के बिना नए उपयोगकर्ता बनाने की अनुमति देगी, केवल एक कनेक्शन स्ट्रिंग।

उत्तर

5

मैंने एप्लिकेशन शुरू होने पर एक डिफ़ॉल्ट सुपर उपयोगकर्ता स्थापित करके इस समस्या को हल किया।

इस gobal.asax को सुरक्षा कक्षा में फिर

 

    void Application_Start(object sender, EventArgs e) 
    { 
     // Code that runs on application startup 

     // check that the minimal security settings are created 
     Security.SetupSecurity(); 
    } 
 

जोड़कर:

 

using System; 
using System.Data; 
using System.Configuration; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.HtmlControls; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 

/// 
/// Creates minimum roles and user for application access. 
/// 
public class Security 
{ 
    // application roles 
    public static string[] applicationRoles = 
     { "Roles1", "Roles2", "Roles3", "Roles4", "Roles5" }; 
    // super user 
    private static string superUser = "super"; 
    // default password, should be changed on first connection 
    private static string superUserPassword = "default"; 

    private Security() 
    { 
     // 
     // TODO: Add constructor logic here 
     // 
    } 

    /// 
    /// Creates minimal membership environment. 
    /// 
    public static void SetupSecurity() 
    { 
     SetupRoles(); 
     SetupSuperuser(); 
    } 

    /// 
    /// Checks roles, creates missing. 
    /// 
    public static void SetupRoles() 
    { 
     // create roles 
     for (int i = 0; i 
    /// Checks if superuser account is created. 
    /// Creates the account and assigns it to all roles. 
    /// 
    public static void SetupSuperuser() 
    { 
     // create super user 
     MembershipUser user = Membership.GetUser(superUser); 
     if (user == null) 
      Membership.CreateUser(superUser, superUserPassword, "[email protected]"); 

     // assign superuser to roles 
     for (int i = 0; i 

एक बार जब आप एक डिफ़ॉल्ट उपयोगकर्ता है, तो आप AspNetWSAT या अन्य उपयोग कर सकते हैं।

0

आपको मशीन पर .NET 2.0 स्थापित होना होगा, सभी वीएस उपकरण एक कमांड लाइन उपकरण के लिए एक जीयूआई रैपर है जो ढांचे का हिस्सा है।

चेक C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727

aspnet_regsql.exe अनुप्रयोग के लिए /? कमांड लाइन स्विचेस के लिए,/डब्ल्यू विज़ार्ड मोड के लिए

+0

खेद: http://SERVER/AdminTool/default.aspx?applicationPhysicalPath=C:

तो फिर तुम यह उसी तरह अपने स्थानीय ASP.Net विन्यास उपकरण यानी एक यूआरएल जो की तरह कुछ जैसा दिखता है के माध्यम से पहुँचा जा सकता है का उपयोग करने की जरूरत है मैं और स्पष्ट नहीं था। मैंने aspnet_regsql चलाया है, मैं अब उपयोगकर्ताओं और भूमिकाओं को जोड़ने में सक्षम होना चाहता हूं। – sontek

4

समाधान 1 (मानक, खराब): विजुअल स्टूडियो -> वेबसाइट मेनू -> एएसपी.नेट कॉन्फ़िगरेशन।

समाधान 2 (preffered): AspNetWSAT (तैनात करने के लिए आसान है, बहुत शक्तिशाली)

+0

WSAT मदद नहीं करता है क्योंकि इससे पहले कि आप कुछ भी कर सकें, डेटाबेस में प्रारंभिक उपयोगकर्ता की आवश्यकता है, मेरी समस्या यह है कि मेरे पास डेटाबेस में * नहीं * उपयोगकर्ता हैं। – sontek

+0

एएसपी.NET कॉन्फ़िगरेशन उपयोगकर्ता बनाने की अनुमति देता है। –

0

आप आईआईएस क्षमताओं को देखा है सदस्यता को प्रबंधित करने? उत्पादन सर्वर के आईआईएस पर एएसपी.NET टैब पर जाएं और देखें कि यह आपकी मदद कर सकता है या नहीं।

+0

जो आपको प्रदाताओं को प्रबंधित करने में मदद करता है, आपको नए उपयोगकर्ताओं को बनाने की अनुमति नहीं देता है। – sontek

1

समाधान सरल है, डब्ल्यूएसएटी उपकरण उत्पादन मशीन पर है, लेकिन यह पहुंच योग्य नहीं है, आप साइट साइट को कॉन्फ़िगर कर सकते हैं, और आप इसका उपयोग कर सकते हैं।

स्रोत कोड के साथ WSAT उपकरण आपके सी: \ विन्डोज़ \ Microsoft.NET \ Framework \ v2.0.50727 \ ASP.NETWebAdminFiles फ़ोल्डर में स्थित है। नेटवर्क पर इसे सुलभ बनाने के लिए, आपको बस इतना करना है कि IIS-> नई वर्चुअल निर्देशिका बनाएं-> उपर्युक्त फ़ोल्डर पर इंगित करें और निर्देशिका सेटिंग्स पृष्ठ से अनाम पहुंच को हटा दें। , \ Inetpub \ wwwrooot \ testsite \ & applicationUrl =/testsite

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