public override string[] FindUsersInRole(string roleName, string usernameToMatch) { if (!Initialized) { return(_prevProvider.FindUsersInRole(roleName, usernameToMatch)); } if (string.IsNullOrEmpty(roleName)) { MySqlSimpleMembershipProvider.NullArgumentException("roleName"); } if (string.IsNullOrEmpty(usernameToMatch)) { return(GetUsersInRole(roleName)); } using (MySqlDatabaseWrapper dbConn = new MySqlDatabaseWrapper(ConnectionString)) { var usersName = dbConn.ExecuteQuery(string.Format("select ut.{0} from {1} as rt join {2} as urt on rt.roleid=urt.roleid join {3} as ut on rt.userid=ut.{4} where rt.rolename=? and ut.name like '%?%'", UserNameColumn, _rolesTable, _userInRolesTable, UserTableName, UserIdColumn), roleName, usernameToMatch); if (usersName.Count() > 0) { return(usersName.Select(username => username[0].ToString()).ToArray()); } } return(null); }
public void FindUsersInRoleTest() { if (!rp.RoleExists(specialRN1)) { rp.CreateRole(specialRN1); } var userNames = new[] { "zaza123", "zaza321", "zqqa123" }; foreach (var userName in userNames) { CreateUser(userName, "qwerty123", userName + "@gmail.com", true); } DateTime now = DateTime.Now; rp.AddUsersToRoles(userNames, new[] { specialRN1 }); Console.WriteLine("Adding {1} users to roles took: {0}", (DateTime.Now - now), userNames.Length); now = DateTime.Now; var found = rp.FindUsersInRole(specialRN1, "zaza%"); Console.WriteLine("Finding all users within role took: {0}", (DateTime.Now - now)); Assert.AreEqual(found.Length, 2); Assert.IsFalse(found.Contains("zqqa123")); foreach (var userName in userNames) { mp.DeleteUser(userName, false); } }
public override string[] FindUsersInRole(string roleName, string usernameToMatch) { LogDebug("Entering CachedProvider.FindUsersInRole"); string[] users; users = _provider.FindUsersInRole(roleName, usernameToMatch); return(users); }
public List <string> FindUsersInRole(string roleName, string usernameToMatch) { return(_provider.FindUsersInRole(roleName, usernameToMatch).ToList <string>()); }
public string[] FindUsersInRole(string roleName, string usernameToMatch) { return(roleProvider.FindUsersInRole(roleName, usernameToMatch)); }
public void MembershipRole_FindUsersInRoleTests() { string userMask; string roleName; string[] userNames; //------------------------------------------------------- // single user mask in existing role - success //------------------------------------------------------- userMask = TestUtils.Users[0].Username; roleName = TestUtils.ProviderRoles[0]; userNames = _provider.FindUsersInRole(roleName, userMask); Assert.AreEqual <int>(1, userNames.Length); Assert.AreEqual <string>(userNames[0], userMask); //------------------------------------------------------- // ? wild card user mask in existing role - success //------------------------------------------------------- userMask = "TEST_USER:00?"; roleName = TestUtils.ProviderRoles[0]; userNames = _provider.FindUsersInRole(roleName, userMask); Assert.AreEqual <int>(3, userNames.Length); Assert.AreEqual <string>(userNames[0], TestUtils.Users[0].Username); Assert.AreEqual <string>(userNames[1], TestUtils.Users[2].Username); Assert.AreEqual <string>(userNames[2], TestUtils.Users[4].Username); //------------------------------------------------------- // * wild card user mask in existing role - success //------------------------------------------------------- userMask = "TEST_USER:*"; roleName = TestUtils.ProviderRoles[0]; userNames = _provider.FindUsersInRole(roleName, userMask); Assert.AreEqual <int>(3, userNames.Length); Assert.AreEqual <string>(userNames[0], TestUtils.Users[0].Username); Assert.AreEqual <string>(userNames[1], TestUtils.Users[2].Username); Assert.AreEqual <string>(userNames[2], TestUtils.Users[4].Username); //------------------------------------------------------- // empty user mask - error //------------------------------------------------------- userMask = string.Empty; roleName = TestUtils.ProviderRoles[0]; try { userNames = _provider.FindUsersInRole(roleName, userMask); Assert.Fail("Provider did not throw expected ArgumentException"); } catch (ArgumentException) { // ignore expected exception } //------------------------------------------------------- // nonexistant user mask in existing role - success. no results //------------------------------------------------------- userMask = Guid.NewGuid().ToString(); roleName = TestUtils.ProviderRoles[0]; userNames = _provider.FindUsersInRole(roleName, userMask); Assert.IsNotNull(userNames); Assert.AreEqual <int>(0, userNames.Length); //------------------------------------------------------- // null user mask - error //------------------------------------------------------- userMask = null; roleName = TestUtils.ProviderRoles[0]; try { userNames = _provider.FindUsersInRole(roleName, userMask); Assert.Fail("Provider did not throw expected ArgumentNullException"); } catch (ArgumentNullException) { // ignore expected exception } //------------------------------------------------------- // valid user mask, empty rolename - error //------------------------------------------------------- userMask = TestUtils.Users[0].Username; roleName = string.Empty; try { userNames = _provider.FindUsersInRole(roleName, userMask); Assert.Fail("Provider did not throw expected ArgumentException"); } catch (ArgumentException) { // ignore expected exception } //------------------------------------------------------- // valid user mask, null rolename - error //------------------------------------------------------- userMask = TestUtils.Users[0].Username; roleName = null; try { userNames = _provider.FindUsersInRole(roleName, userMask); Assert.Fail("Provider did not throw expected ArgumentNullException"); } catch (ArgumentNullException) { // ignore expected exception } //------------------------------------------------------- // valid user mask, nonexistant rolename - error //------------------------------------------------------- userMask = TestUtils.Users[0].Username; roleName = Guid.NewGuid().ToString(); try { userNames = _provider.FindUsersInRole(roleName, userMask); Assert.Fail("Provider did not throw expected ProviderException"); } catch (ProviderException) { //ignore expected exception } }