How do you setup an asp.net sql membership role/membership provider on a production machine? I'm trying to setup BlogEngine.NET and all the documentation says to use the ASP.NET Website Administration tool from Visual Studio but that isn't available on a production machine. Am I the first BlogEngine user to use it on a non-development box?
The SQL server is completely blocked off from everything but the production box, I do have SQL Management Studio on there though.
EDIT: I mean, how do you add new users/roles, not how do you create the tables. I've already ran aspnet_regsql to create the schema.
EDIT2: MyWSAT doesn't work because it requires an initial user in the database as well. I need an application that will allow me to create new users in the membership database without any authentication, just a connection string.
I solved this problem by setting up a default super user at application start up.
By adding this to 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();
}
Then in the security class:
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
Once you have a default user, you can use AspNetWSAT or other.
Solution 1 (standard, poor): Visual Studio -> Website menu -> ASP.NET Configuration.
Solution 2 (preffered): AspNetWSAT (easy to deploy, pretty powerfull)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With