Как вы управляете ролями / пользователями членства SQL asp.net в производстве? - PullRequest
9 голосов
/ 01 октября 2008

Как настроить роль участника asp.net sql / поставщик членства на рабочем компьютере? Я пытаюсь настроить BlogEngine.NET, и вся документация говорит об использовании инструмента администрирования веб-сайта ASP.NET из Visual Studio, но его нет на рабочем компьютере. Являюсь ли я первым пользователем BlogEngine, который использовал его в ящике без разработки?

Сервер SQL полностью заблокирован от всего, кроме рабочей коробки, хотя у меня там есть SQL Management Studio.

РЕДАКТИРОВАТЬ: я имею в виду, как вы добавляете новых пользователей / роли, а не как вы создаете таблицы. Я уже запустил aspnet_regsql для создания схемы.

EDIT2: MyWSAT не работает, так как для него также требуется начальный пользователь в базе данных. Мне нужно приложение, которое позволит мне создавать новых пользователей в базе данных членства без какой-либо аутентификации, только строка подключения.

Ответы [ 5 ]

5 голосов
/ 01 октября 2008

Я решил эту проблему, настроив суперпользователя по умолчанию при запуске приложения.

Добавив это в 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, "maintenance@acorel.com");

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

Если у вас есть пользователь по умолчанию, вы можете использовать AspNetWSAT или другое.

4 голосов
/ 01 октября 2008

Решение 1 (стандартное, плохое): Visual Studio -> Меню веб-сайта -> Конфигурация ASP.NET.

Решение 2 (предпочтительно): AspNetWSAT (простота развертывания, довольно мощный)

1 голос
/ 26 марта 2009

Решение простое, инструмент WSAT находится на рабочем компьютере, но он недоступен, вы можете настроить сайт , и вы можете использовать его.

Инструмент WSAT с исходным кодом находится в папке C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ ASP.NETWebAdminFiles. Чтобы сделать его доступным в сети, все, что вам нужно сделать, это зайти в IIS–> Создать новый виртуальный каталог–> Указать на вышеуказанную папку и удалить анонимный доступ со страницы настроек каталога.

Затем вам нужно получить к нему доступ таким же образом, как к вашему локальному инструменту конфигурации ASP.Net, то есть через URL-адрес, похожий на что-то вроде: http://SERVER/AdminTool/default.aspx?applicationPhysicalPath=C:\Inetpub\wwwrooot\testsite\&applicationUrl=/testsite

0 голосов
/ 01 октября 2008

Рассматривали ли вы возможности IIS для управления членством? Перейдите на вкладку ASP.NET в IIS рабочего сервера и посмотрите, поможет ли это вам.

0 голосов
/ 01 октября 2008

На компьютере должен быть установлен .NET 2.0, все средства VS - это оболочка с графическим интерфейсом для инструмента командной строки, являющегося частью инфраструктуры.

Проверьте C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 для приложения aspnet_regsql.exe

/? для параметров командной строки, / W для режима мастера

...