/// <summary> /// Check for and handle the case of a new database - if so, seed the database /// with the required roles for this application and make the currently logged-in /// user as the administrator. /// NOTE: Possible security hole when rebuilding a web site with a blank database - /// anyone could register as the admin. Double check the user list when rebuilding /// a blank user database. /// </summary> private void ValidateRoles(System.Web.Security.RoleProvider rolesProvider, string userName) { if (!rolesProvider.RoleExists("Administrators")) { rolesProvider.CreateRole("Administrators"); rolesProvider.CreateRole("RouteManagers"); rolesProvider.CreateRole("Vehicles"); if (!rolesProvider.GetRolesForUser(userName).Contains("Administrators")) { rolesProvider.AddUsersToRoles(new[] { userName }, new[] { "Administrators", "RouteManagers", "Vehicles" }); } } }
void btnComplete_Click(object sender, EventArgs e) { if (txtEmail.Text.ToLower() != txtConfirmEmail.Text.ToLower()) { lblMessage2.Text = "Email Address' do not match"; } else if (txtPassword.Text != txtConfirmPassword.Text) { lblMessage2.Text = "Passwords to not match"; } else { String FirstName = txtFirstName.Text; String LastName = txtLastName.Text; String UserName = lblUserName.Text; String Email = txtEmail.Text; String Password = txtConfirmPassword.Text; System.Web.Security.MembershipCreateStatus CreationStatus = new System.Web.Security.MembershipCreateStatus(); System.Web.Security.MembershipUser NewMembershipUser = System.Web.Security.Membership.CreateUser(UserName, Password, Email, "First Name", FirstName, true, out CreationStatus); if (NewMembershipUser == null) { lblMessage2.Text = CreationStatus.ToString(); } else { System.Web.HttpContext.Current.Profile.Initialize(UserName, true); System.Web.HttpContext.Current.Profile.Save(); Avenue.Heights.AvenueHeightsProfile newProfile = (Avenue.Heights.AvenueHeightsProfile)Avenue.Heights.AvenueHeightsProfile.GetProfile(UserName); newProfile.UserID = 0; newProfile.WorkflowIterationID = 0; newProfile.WorkflowTaskID = 0; System.Web.Security.RoleProvider aRoleProvider = System.Web.Security.Roles.Providers["AvenueHeightsRoleProvider"]; String[] User = { UserName }; String[] Role = { "Member" }; aRoleProvider.AddUsersToRoles(User, Role); aRoleProvider = System.Web.Security.Roles.Providers["AvenueWorkflowRoleProvider"]; aRoleProvider.AddUsersToRoles(User, Role); Avenue.Workflow.Access.User newUser = new Avenue.Workflow.Access.User(); newUser.UserFirstName = FirstName; newUser.UserLastName = LastName; newUser.UserName = UserName; newUser.UserEmail = Email; newUser.UserThemeID = new Avenue.Workflow.Access.Theme(1); newUser.UserAspNetMembership = (Guid)NewMembershipUser.ProviderUserKey; newUser.Insert(); lblMessage.Text = "Registration Complete"; newProfile.UserID = newUser.UserID; newProfile.Save(); pnlLogIn.Visible = true; pnlRegister.Visible = false; } } }