RoleProvider.FindUsersInRole(String, String) Yöntem

Tanım

Kullanıcı adının eşleşecek belirtilen kullanıcı adını içerdiği bir roldeki kullanıcı adları dizisini alır.

public:
 abstract cli::array <System::String ^> ^ FindUsersInRole(System::String ^ roleName, System::String ^ usernameToMatch);
public abstract string[] FindUsersInRole (string roleName, string usernameToMatch);
abstract member FindUsersInRole : string * string -> string[]
Public MustOverride Function FindUsersInRole (roleName As String, usernameToMatch As String) As String()

Parametreler

roleName
String

Aranacak rol.

usernameToMatch
String

Aranacak kullanıcı adı.

Döndürülenler

String[]

Kullanıcı adının eşleştiği usernameToMatch ve kullanıcının belirtilen rolün üyesi olduğu tüm kullanıcıların adlarını içeren bir dize dizisi.

Örnekler

Aşağıdaki kod örneğinde örnek FindUsersInRole bir uygulama gösterilmektedir.

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;
}
Public Overrides Function FindUsersInRole(ByVal rolename As String, ByVal userNameToMatch As String) As String()
    Dim conn As OdbcConnection = New OdbcConnection(connectionString)
    Dim cmd As OdbcCommand = 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

    Dim tmpUserNames As String = ""
    Dim reader As OdbcDataReader = Nothing

    Try
        conn.Open()

        reader = cmd.ExecuteReader()

        Do While reader.Read()
            tmpUserNames &= reader.GetString(0) & ","
        Loop
    Catch e As OdbcException
        ' Handle exception.
    Finally
        If Not reader Is Nothing Then reader.Close()
        conn.Close()
    End Try

    If tmpUserNames.Length > 0 Then
        ' Remove trailing comma.
        tmpUserNames = tmpUserNames.Substring(0, tmpUserNames.Length - 1)
        Return tmpUserNames.Split(CChar(","))
    End If

    Return Nothing
End Function

Açıklamalar

FindUsersInRole yöntemi sınıfı tarafından çağrılır Roles ve kullanıcı adının yapılandırılan applicationNameiçin sağlanan usernameToMatch ile eşleşmesini içerdiği bir roldeki kullanıcıların listesini döndürür. Joker karakter desteği, veri kaynağına göre eklenir. Kullanıcılar, kullanıcı adına göre alfabetik sırada döndürülür.

Veri kaynağında yoksa bir ProviderExceptionroleName oluşturmanızı öneririz.

Şunlara uygulanır

Ayrıca bkz.