protected void btnAddRole_Click(Object sender, EventArgs e) { if (this.txtNewRoleName.Text.Length > 0) { Role role = new Role(); role.SiteId = siteSettings.SiteId; role.SiteGuid = siteSettings.SiteGuid; role.RoleName = this.txtNewRoleName.Text; //role.EnforceRelatedSitesMode = WebConfigSettings.UseRelatedSiteMode; role.Save(); } WebUtils.SetupRedirect(this, Request.RawUrl); return; }
public static void EnsureRolesAndAdminUser(SiteSettings site) { SiteUser adminUser = EnsureAdminUser(site); if (!Role.Exists(site.SiteId, "Admins")) { Role adminRole = new Role(); adminRole.RoleName = "Admins"; adminRole.SiteId = site.SiteId; adminRole.SiteGuid = site.SiteGuid; adminRole.Save(); adminRole.RoleName = "Administrators"; adminRole.Save(); Role.AddUser(adminRole.RoleId, adminUser.UserId, adminRole.RoleGuid, adminUser.UserGuid); } if (!Role.Exists(site.SiteId, "Role Admins")) { Role roleAdminRole = new Role(); roleAdminRole.RoleName = "Role Admins"; roleAdminRole.SiteId = site.SiteId; roleAdminRole.SiteGuid = site.SiteGuid; roleAdminRole.Save(); roleAdminRole.RoleName = "Role Administrators"; roleAdminRole.Save(); } if (!Role.Exists(site.SiteId, "Content Administrators")) { Role contentAdminRole = new Role(); contentAdminRole.RoleName = "Content Administrators"; contentAdminRole.SiteId = site.SiteId; contentAdminRole.SiteGuid = site.SiteGuid; contentAdminRole.Save(); } if (!Role.Exists(site.SiteId, "Authenticated Users")) { Role authenticatedUserRole = new Role(); authenticatedUserRole.RoleName = "Authenticated Users"; authenticatedUserRole.SiteId = site.SiteId; authenticatedUserRole.SiteGuid = site.SiteGuid; authenticatedUserRole.Save(); } if (!Role.Exists(site.SiteId, "Content Publishers")) { Role contentPublisherRole = new Role(); contentPublisherRole.RoleName = "Content Publishers"; contentPublisherRole.SiteId = site.SiteId; contentPublisherRole.SiteGuid = site.SiteGuid; contentPublisherRole.Save(); } if (!Role.Exists(site.SiteId, "Content Authors")) { Role contentAuthorRole = new Role(); contentAuthorRole.RoleName = "Content Authors"; contentAuthorRole.SiteId = site.SiteId; contentAuthorRole.SiteGuid = site.SiteGuid; contentAuthorRole.Save(); } if (!Role.Exists(site.SiteId, "Newsletter Administrators")) { Role newsletterAdminRole = new Role(); newsletterAdminRole.RoleName = "Newsletter Administrators"; newsletterAdminRole.SiteId = site.SiteId; newsletterAdminRole.SiteGuid = site.SiteGuid; newsletterAdminRole.Save(); } }
public static void CreateRequiredRolesAndAdminUser(SiteSettings site) { Role adminRole = new Role(); adminRole.RoleName = "Admins"; adminRole.SiteId = site.SiteId; adminRole.SiteGuid = site.SiteGuid; adminRole.Save(); adminRole.RoleName = "Administrators"; adminRole.Save(); Role roleAdminRole = new Role(); roleAdminRole.RoleName = "Role Admins"; roleAdminRole.SiteId = site.SiteId; roleAdminRole.SiteGuid = site.SiteGuid; roleAdminRole.Save(); roleAdminRole.RoleName = "Role Administrators"; roleAdminRole.Save(); Role contentAdminRole = new Role(); contentAdminRole.RoleName = "Content Administrators"; contentAdminRole.SiteId = site.SiteId; contentAdminRole.SiteGuid = site.SiteGuid; contentAdminRole.Save(); Role authenticatedUserRole = new Role(); authenticatedUserRole.RoleName = "Authenticated Users"; authenticatedUserRole.SiteId = site.SiteId; authenticatedUserRole.SiteGuid = site.SiteGuid; authenticatedUserRole.Save(); Role contentPublisherRole = new Role(); contentPublisherRole.RoleName = "Content Publishers"; contentPublisherRole.SiteId = site.SiteId; contentPublisherRole.SiteGuid = site.SiteGuid; contentPublisherRole.Save(); Role contentAuthorRole = new Role(); contentAuthorRole.RoleName = "Content Authors"; contentAuthorRole.SiteId = site.SiteId; contentAuthorRole.SiteGuid = site.SiteGuid; contentAuthorRole.Save(); Role newsletterAdminRole = new Role(); newsletterAdminRole.RoleName = "Newsletter Administrators"; newsletterAdminRole.SiteId = site.SiteId; newsletterAdminRole.SiteGuid = site.SiteGuid; newsletterAdminRole.Save(); // if using related sites mode there is a problem if we already have user [email protected] // and we create another one in the child site with the same email and login so we need to make it different // we could just skip creating this user since in related sites mode all users come from the first site // but then if the config were changed to not related sites mode there would be no admin user // so in related sites mode we create one only as a backup in case settings are changed later int countOfSites = SiteSettings.SiteCount(); string siteDifferentiator = string.Empty; if ( (countOfSites >= 1) && (WebConfigSettings.UseRelatedSiteMode) ) { if (site.SiteId > 1) { siteDifferentiator = site.SiteId.ToInvariantString(); } } mojoMembershipProvider membership = Membership.Provider as mojoMembershipProvider; bool overridRelatedSiteMode = true; SiteUser adminUser = new SiteUser(site, overridRelatedSiteMode); adminUser.Email = "admin" + siteDifferentiator + "@admin.com"; adminUser.Name = "Admin"; adminUser.LoginName = "admin" + siteDifferentiator; adminUser.Password = "******"; if (membership != null) { adminUser.Password = membership.EncodePassword(site, adminUser, "admin"); } adminUser.PasswordQuestion = "What is your user name?"; adminUser.PasswordAnswer = "admin"; adminUser.Save(); Role.AddUser(adminRole.RoleId, adminUser.UserId, adminRole.RoleGuid, adminUser.UserGuid); }
protected void RolesList_ItemCommand(object sender, DataListCommandEventArgs e) { if (debugLog) { log.Debug("fired event RolesList_ItemCommand"); } int roleID = (int)rolesList.DataKeys[e.Item.ItemIndex]; Role role = new Role(roleID); switch (e.CommandName) { case "edit": rolesList.EditItemIndex = e.Item.ItemIndex; BindRoleList(); break; case "apply": role.RoleName = ((TextBox)e.Item.FindControl("roleName")).Text; role.Save(); rolesList.EditItemIndex = -1; BindRoleList(); break; case "delete": if (role.CanBeDeleted(WebConfigSettings.RolesThatCannotBeDeleted.SplitOnChar(';'))) { Role.DeleteRole(roleID); rolesList.EditItemIndex = -1; } BindRoleList(); break; //case "members": // roleName = ((TextBox)e.Item.FindControl("roleName")).Text; // role.RoleName = roleName; // role.Save(); // string redirectUrl // = SiteRoot + "/Admin/SecurityRoles.aspx?roleId=" // + roleID + "&rolename=" + roleName; // WebUtils.SetupRedirect(this, redirectUrl); // break; case "cancel": WebUtils.SetupRedirect(this, Request.RawUrl); break; } }
/// <summary> /// required implementation /// </summary> /// <param name="roleName">a role name</param> public override void CreateRole(string roleName) { SiteSettings siteSettings = CacheHelper.GetCurrentSiteSettings(); if ((siteSettings != null)&&(roleName != null)&&(roleName.Length > 0)) { if (!Role.Exists(siteSettings.SiteId, roleName)) { Role role = new Role(); role.SiteId = siteSettings.SiteId; role.SiteGuid = siteSettings.SiteGuid; role.RoleName = roleName; role.Save(); } } }