public override string[] FindUsersInRole(string roleName, string usernameToMatch) { try { List <string> Results = new List <string>(); Regex Expression = new Regex(usernameToMatch.Replace("%", @"\w*")); SimpleRole Role = CurrentStore.GetRole(roleName); if (Role != null) { foreach (string userName in Role.AssignedUsers) { if (Expression.IsMatch(userName)) { Results.Add(userName); } } } else { throw new ProviderException("Role does not exist!"); } return(Results.ToArray()); } catch { throw; } }
public override void RemoveUsersFromRoles(string[] usernames, string[] roleNames) { try { // Get the roles to be modified List <SimpleRole> TargetRoles = new List <SimpleRole>(); foreach (string roleName in roleNames) { SimpleRole Role = CurrentStore.GetRole(roleName); if (Role != null) { foreach (string userName in usernames) { if (Role.AssignedUsers.Contains(userName)) { Role.AssignedUsers.Remove(userName); } } } } CurrentStore.Save(); } catch { throw; } }
public override void AddUsersToRoles(string[] usernames, string[] roleNames) { try { // Get the roles to be modified foreach (string roleName in roleNames) { SimpleRole Role = CurrentStore.GetRole(roleName); if (Role != null) { foreach (string userName in usernames) { if (!Role.AssignedUsers.Contains(userName)) { Role.AssignedUsers.Add(userName); } } } } CurrentStore.Save(); } catch { throw; } }
public override bool RoleExists(string roleName) { try { if (CurrentStore.GetRole(roleName) != null) { return(true); } else { return(false); } } catch { throw; } }
public override bool IsUserInRole(string username, string roleName) { try { SimpleRole Role = CurrentStore.GetRole(roleName); if (Role != null) { return(Role.AssignedUsers.Contains(username)); } else { throw new ProviderException("Role does not exist!"); } } catch { throw; } }
public override bool DeleteRole(string roleName, bool throwOnPopulatedRole) { try { SimpleRole Role = CurrentStore.GetRole(roleName); if (Role != null) { CurrentStore.Roles.Remove(Role); CurrentStore.Save(); return(true); } else { return(false); } } catch { throw; } }