9

如何在生产机器上设置 asp.net sql 成员角色/成员提供者?我正在尝试设置 BlogEngine.NET,所有文档都说要使用 Visual Studio 中的 ASP.NET 网站管理工具,但这在生产机器上不可用。我是第一个在非开发机器上使用它的 BlogEngine 用户吗?

SQL 服务器完全与生产框隔离,但我确实在那里安装了 SQL Management Studio。

编辑:我的意思是,您如何添加新用户/角色,而不是如何创建表。我已经运行 aspnet_regsql 来创建架构。

EDIT2:MyWSAT 不起作用,因为它还需要数据库中的初始用户。我需要一个应用程序,它允许我在成员数据库中创建新用户而无需任何身份验证,只需一个连接字符串。

4

5 回答 5

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();
    }

然后在安全类中:

使用系统;
使用 System.Data;
使用 System.Configuration;
使用 System.Web;
使用 System.Web.Security;
使用 System.Web.UI;
使用 System.Web.UI.HtmlControls;
使用 System.Web.UI.WebControls;
使用 System.Web.UI.WebControls.WebParts;

///
/// 为应用程序访问创建最小角色和用户。
///
公共类安全
{
    // 应用角色
    公共静态字符串 [] applicationRoles =
        {“角色 1”、“角色 2”、“角色 3”、“角色 4”、“角色 5”};
    // 超级用户
    私有静态字符串 superUser = "super";
    // 默认密码,第一次连接时需要修改
    私有静态字符串 superUserPassword = "default";

    私人安全()
    {
        //
        // TODO: 在此处添加构造函数逻辑
        //
    }

    ///
    /// 创建最小的成员环境。
    ///
    公共静态无效设置安全()
    {
        设置角色();
        设置超级用户();
    }

    ///
    /// 检查角色,创建缺失。
    ///
    公共静态无效SetupRoles()
    {
        // 创建角色
        对于 (int i = 0; 我
    /// 检查是否创建了超级用户帐户。
    /// 创建帐户并将其分配给所有角色。
    ///
    公共静态无效SetupSuperuser()
    {
        // 创建超级用户
        MembershipUser 用户 = Membership.GetUser(superUser);
        如果(用户 == 空)
            Membership.CreateUser(superUser, superUserPassword, "maintenance@acorel.com");

        // 将超级用户分配给角色
        对于 (int i = 0; 我

一旦有了默认用户,就可以使用 AspNetWSAT 或其他。

于 2008-10-01T15:31:50.930 回答
4

解决方案 1(标准,差):Visual Studio -> 网站菜单 -> ASP.NET 配置。

解决方案 2(首选):AspNetWSAT(易于部署,非常强大)

于 2008-10-01T07:55:12.837 回答
1

解决方法很简单,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=/测试站点

于 2009-03-26T15:41:28.950 回答
0

您必须在机器上安装 .NET 2.0,所有 VS 工具都是作为框架一部分的命令行工具的 GUI 包装器。

检查 C:\Windows\Microsoft.NET\Framework\v2.0.50727 以获取应用程序 aspnet_regsql.exe

/?用于命令行开关,/W 用于向导模式

于 2008-10-01T07:33:41.937 回答
0

您是否查看过 IIS 管理成员资格的功能?转到生产服务器的 IIS 上的 ASP.NET 选项卡,看看这是否对您有帮助。

于 2008-10-01T15:19:42.583 回答