public void DeleteUserRole(UserInfo user) { try { // Get role and user objects // RoleInfo role = RoleInfoProvider.GetRoleInfo(roleName.ToString(), CMS.SiteProvider.SiteContext.CurrentSiteID); // UserInfo user = UserInfoProvider.GetUserInfo("MyNewUser"); DataTable dt = UserInfoProvider.GetUserRoles(user); if (dt.Rows.Count > 0 && dt != null) { foreach (DataRow dr in dt.Rows) { if (dr["RoleName"].ToString().ToLower().Contains("sso_")) { UserRoleInfo deleteRole = UserRoleInfoProvider.GetUserRoleInfo(user.UserID, Convert.ToInt32(dr["RoleID"])); // Delete the user role UserRoleInfoProvider.DeleteUserRoleInfo(deleteRole); } } } } catch (Exception ex) { EventLogProvider.LogException("Issue while DeleteUserRole", "Get", ex); } }
/// <summary> /// Deletes user role. Called when the "Delete role" button is pressed. /// Expects the CreateUserRole method to be run first. /// </summary> private bool DeleteUserRole() { // Get role and user objects RoleInfo role = RoleInfoProvider.GetRoleInfo("MyNewRole", CMSContext.CurrentSiteID); UserInfo user = UserInfoProvider.GetUserInfo("MyNewUser"); if ((role != null) && (user != null)) { // Get the user role UserRoleInfo deleteRole = UserRoleInfoProvider.GetUserRoleInfo(user.UserID, role.RoleID); // Delete the user role UserRoleInfoProvider.DeleteUserRoleInfo(deleteRole); return(true); } return(false); }
/// <summary> /// deletes all the roles assigned to particular user /// </summary> /// <param name="userID"></param> private void DeleteUserRoles(int userID) { try { var userRoleData = UserRoleInfoProvider.GetUserRoles() .WhereEquals("UserID", userID) .ToList(); if (!DataHelper.DataSourceIsEmpty(userRoleData)) { userRoleData.ForEach(x => { UserRoleInfoProvider.DeleteUserRoleInfo(x); }); } } catch (Exception ex) { EventLogProvider.LogException("UsersList", "DeleteUserRoles", ex); } }
/// <summary> /// Removes <see cref="User"/> from <see cref="Role"/>. /// </summary> /// <param name="user">User entity.</param> /// <param name="roleName">Role name.</param> public Task RemoveFromRoleAsync(User user, string roleName) { if (user == null) { throw new ArgumentNullException(nameof(user)); } if (String.IsNullOrWhiteSpace(roleName)) { throw new ArgumentException("Argument cannot be null or empty", nameof(roleName)); } var userRole = UserRoleInfoProvider.GetUserRoles() .WhereEquals("UserID", user.Id) .WhereEquals("RoleID", GetRoleByRoleName(roleName, SiteID).RoleID) .FirstObject; UserRoleInfoProvider.DeleteUserRoleInfo(userRole); return(Task.FromResult(0)); }
/// <summary> /// Synchronizes memberships of given user. /// </summary> /// <param name="user">AD user</param> /// <param name="userInfo">CMS user</param> /// <param name="userRoles">Collection of <see cref="RoleInfo"/> objects user is in – infos are supposed to contain RoleGUID and RoleIsDomain.</param> private static void RemoveExcessiveMemberships(IPrincipalObject user, UserInfo userInfo, ISet <RoleInfo> userRoles) { // Add message to log MessageLog.LogEvent(ResHelper.GetString("Log_UpdatingMemberships", userInfo.UserName)); // Get all user's roles that originate in AD and user is no longer member of var removedRoles = new List <RoleInfo>(); foreach (var roleInfo in userRoles .Where(role => role.RoleIsDomain) .Where(userRole => !user.IsPrincipalInGroup(userRole.RoleGUID))) { // Remove user from CMS role UserRoleInfoProvider.DeleteUserRoleInfo(userInfo, roleInfo); // Store removed roles removedRoles.Add(roleInfo); } // Update set of user roles (to reflect real roles user is in) userRoles.ExceptWith(removedRoles); }
/// <summary> /// Saves roles of specified user. /// </summary> private void SaveRoles(int userID) { // Load user's roles if (!currentRolesLoaded) { LoadCurrentRoles(); } // Remove old items string newValues = ValidationHelper.GetString(usRoles.Value, null); string items = DataHelper.GetNewItemsInList(newValues, currentValues); if (!String.IsNullOrEmpty(items)) { var newItems = items.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries); // Removes relationship between user and role foreach (string item in newItems) { int roleID = ValidationHelper.GetInteger(item, 0); var uri = UserRoleInfoProvider.GetUserRoleInfo(userID, roleID); UserRoleInfoProvider.DeleteUserRoleInfo(uri); } } // Add new items items = DataHelper.GetNewItemsInList(currentValues, newValues); if (!String.IsNullOrEmpty(items)) { var newItems = items.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries); // Add relationship between user and role foreach (string item in newItems) { int roleID = ValidationHelper.GetInteger(item, 0); UserRoleInfoProvider.AddUserToRole(userID, roleID); } } }
/// <summary> /// Saves data. /// </summary> private void SaveData() { // Check "modify" permission if (!MembershipContext.AuthenticatedUser.IsAuthorizedPerResource("CMS.Users", "ManageUserRoles")) { RedirectToAccessDenied("CMS.Users", "Manage user roles"); } bool saved = false; string result = ValidateGlobalAndDeskAdmin(); if (result != String.Empty) { ShowError(result); return; } string selectorValues = ValidationHelper.GetString(usRoles.Value, null); // Remove old items string items = DataHelper.GetNewItemsInList(selectorValues, mCurrentValues); if (!String.IsNullOrEmpty(items)) { string[] newItems = items.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries); if (newItems.Any()) { // Remove all old items from site foreach (string item in newItems) { int roleID = ValidationHelper.GetInteger(item, 0); var uri = UserRoleInfoProvider.GetUserRoleInfo(mUserId, roleID); UserRoleInfoProvider.DeleteUserRoleInfo(uri); } saved = true; } } // Add new items items = DataHelper.GetNewItemsInList(mCurrentValues, selectorValues); if (!String.IsNullOrEmpty(items)) { string[] newItems = items.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries); if (newItems.Any()) { DateTime dt = ValidationHelper.GetDateTime(hdnDate.Value, DateTimeHelper.ZERO_TIME); // Add all new items to site foreach (string item in newItems) { int roleID = ValidationHelper.GetInteger(item, 0); UserRoleInfoProvider.AddUserToRole(mUserId, roleID, dt); } saved = true; } } if (saved) { ShowChangesSaved(); usRoles.Reload(true); } }
private void SaveUsers() { if (!CheckPermissions("cms.roles", PERMISSION_MODIFY)) { return; } bool falseValues = false; bool saved = false; // Remove old items string newValues = ValidationHelper.GetString(usUsers.Value, null); string items = DataHelper.GetNewItemsInList(newValues, currentValues); StringBuilder errorMessage = new StringBuilder(); if (!String.IsNullOrEmpty(items)) { string[] newItems = items.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); if (newItems != null) { // Add all new items to user foreach (string item in newItems) { int userId = ValidationHelper.GetInteger(item, 0); // Check permissions string result = ValidateGlobalAndDeskAdmin(userId); if (result != String.Empty) { errorMessage.Append(result); falseValues = true; continue; } else { var uri = UserRoleInfoProvider.GetUserRoleInfo(userId, RoleID); UserRoleInfoProvider.DeleteUserRoleInfo(uri); saved = true; } } } } // Add new items items = DataHelper.GetNewItemsInList(currentValues, newValues); if (!String.IsNullOrEmpty(items)) { string[] newItems = items.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); if (newItems != null) { // Add all new items to user foreach (string item in newItems) { int userId = ValidationHelper.GetInteger(item, 0); // Check permissions string result = ValidateGlobalAndDeskAdmin(userId); if (result != String.Empty) { errorMessage.Append(result); falseValues = true; continue; } else { UserRoleInfoProvider.AddUserToRole(userId, RoleID); saved = true; } } } } if (errorMessage.Length > 0) { ShowError(errorMessage.ToString()); } if (falseValues) { currentValues = GetRoleUsers(); usUsers.Value = currentValues; usUsers.Reload(); } if (saved) { ShowChangesSaved(); } }
private void SaveUsers() { if (!MembershipContext.AuthenticatedUser.IsAuthorizedPerResource("CMS.Users", "ManageUserRoles")) { RedirectToAccessDenied("CMS.Users", "ManageUserRoles"); } bool falseValues = false; bool saved = false; StringBuilder errors = new StringBuilder(); // Remove old items string newValues = ValidationHelper.GetString(usUsers.Value, null); string items = DataHelper.GetNewItemsInList(newValues, currentValues); if (!String.IsNullOrEmpty(items)) { string[] newItems = items.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); if (newItems != null) { // Add all new items to user foreach (string item in newItems) { int userId = ValidationHelper.GetInteger(item, 0); // Check permissions string result = ValidateGlobalAndDeskAdmin(userId); if (result != String.Empty) { errors.AppendLine(result); falseValues = true; continue; } else { var uri = UserRoleInfoProvider.GetUserRoleInfo(userId, roleID); UserRoleInfoProvider.DeleteUserRoleInfo(uri); saved = true; } } } } // Add new items items = DataHelper.GetNewItemsInList(currentValues, newValues); if (!String.IsNullOrEmpty(items)) { string[] newItems = items.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); if (newItems != null) { DateTime dt = ValidationHelper.GetDateTime(hdnDate.Value, DateTimeHelper.ZERO_TIME); // Add all new items to user foreach (string item in newItems) { int userId = ValidationHelper.GetInteger(item, 0); // Check permissions string result = ValidateGlobalAndDeskAdmin(userId); if (result != String.Empty) { errors.AppendLine(result); falseValues = true; continue; } else { UserRoleInfoProvider.AddUserToRole(userId, roleID, dt); saved = true; } } } } if (errors.Length > 0) { ShowError(GetString("general.saveerror"), errors.ToString(), null); } if (falseValues) { currentValues = GetRoleUsers(); usUsers.Value = currentValues; } if (saved) { ShowChangesSaved(); } usUsers.Reload(true); }