Пример #1
0
        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;
            }
        }
Пример #2
0
        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;
            }
        }
Пример #3
0
        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;
            }
        }
Пример #4
0
 public override bool RoleExists(string roleName)
 {
     try
     {
         if (CurrentStore.GetRole(roleName) != null)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
     catch
     {
         throw;
     }
 }
Пример #5
0
 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;
     }
 }
Пример #6
0
 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;
     }
 }