使用英语阅读

通过


RoleProvider.FindUsersInRole(String, String) 方法

定义

获取属于某个角色且与指定的用户名相匹配的用户名的数组。

public abstract string[] FindUsersInRole(string roleName, string usernameToMatch);

参数

roleName
String

作为搜索范围的角色。

usernameToMatch
String

要搜索的用户名。

返回

String[]

一个字符串数组,包含用户名与 usernameToMatch 匹配且用户是指定角色的成员的所有用户的名称。

示例

下面的代码示例演示了一个示例 FindUsersInRole 实现。

public override string[] FindUsersInRole(string rolename, string usernameToMatch)
{
  OdbcConnection conn = new OdbcConnection(connectionString);
  OdbcCommand cmd = new OdbcCommand("SELECT Username FROM UsersInRoles  " +
                                    " WHERE Username LIKE ? AND RoleName = ? AND ApplicationName = ?", conn);
  cmd.Parameters.Add("@UsernameSearch", OdbcType.VarChar, 255).Value = usernameToMatch;
  cmd.Parameters.Add("@RoleName", OdbcType.VarChar, 255).Value = rolename;
  cmd.Parameters.Add("@ApplicationName", OdbcType.VarChar, 255).Value = pApplicationName;

  string tmpUserNames = "";
  OdbcDataReader reader = null;

  try
  { 
    conn.Open();

    reader = cmd.ExecuteReader();

    while (reader.Read())
    {
      tmpUserNames += reader.GetString(0) + ",";
    }
  }
  catch (OdbcException)
  {
    // Handle Exception.
  }
  finally
  {
    if (reader != null) { reader.Close(); }

    conn.Close();
  }

  if (tmpUserNames.Length > 0)
  {
    // Remove trailing comma.
    tmpUserNames = tmpUserNames.Substring(0, tmpUserNames.Length - 1);
    return tmpUserNames.Split(',');
  }

  return null;
}

注解

FindUsersInRole方法由 Roles 类调用,并返回角色中的用户列表,其中用户名包含为配置的 applicationName提供的 usernameToMatch 匹配项。 包括基于数据源的通配符支持。 用户按用户名的字母顺序返回。

如果roleName数据源中不存在,建议引发 ProviderException

适用于

产品 版本
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

另请参阅