如何在生产计算机上设置asp.net sql成员角色/成员资格提供程序?我正在尝试设置BlogEngine.NET,并且所有文档都说使用Visual Studio中的ASP.NET网站管理工具,但这在生产机器上不可用。我是第一个在非开发盒上使用它的BlogEngine用户吗?
除了生产框之外,SQL服务器完全被阻止了,但我确实有SQL Management Studio。
编辑:我的意思是,你如何添加新用户/角色,而不是如何创建表。我已经运行了aspnet_regsql来创建架构。EDIT2:MyWSAT不起作用,因为它也需要数据库中的初始用户。我需要一个应用程序,允许我在成员资格数据库中创建新用户而无需任何身份验证,只需一个连接字符串。
答案 0 :(得分: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, "maintenance@acorel.com"); // assign superuser to roles for (int i = 0; i
拥有默认用户后,您可以使用AspNetWSAT或其他。
答案 1 :(得分:4)
解决方案1(标准,差):Visual Studio - >网站菜单 - > ASP.NET配置。
解决方案2(已提供):AspNetWSAT(易于部署,非常强大)
答案 2 :(得分: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 \&amp; applicationUrl = / testsite < / p>
答案 3 :(得分:0)
您必须在计算机上安装.NET 2.0,所有VS工具都是命令行工具的GUI包装器,它是框架的一部分。
检查应用程序aspnet_regsql.exe的C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727
/?用于命令行开关,/ W用于向导模式
答案 4 :(得分:0)
您是否看过IIS管理会员资格的功能?转到生产服务器的IIS上的ASP.NET选项卡,看看这是否对您有所帮助。