Freigeben über


RoleProvider.IsUserInRole(String, String) Methode

Definition

Ruft einen Wert ab, der angibt, ob der angegebene Benutzer die angegebene Rolle für den konfigurierten applicationName innehat.

public:
 abstract bool IsUserInRole(System::String ^ username, System::String ^ roleName);
public abstract bool IsUserInRole (string username, string roleName);
abstract member IsUserInRole : string * string -> bool
Public MustOverride Function IsUserInRole (username As String, roleName As String) As Boolean

Parameter

username
String

Der zu suchende Benutzername.

roleName
String

Die Rolle, in der gesucht werden soll.

Gibt zurück

true, wenn der angegebene Benutzer die angegebene Rolle für den konfigurierten applicationName innehat, andernfalls false.

Beispiele

Das folgende Codebeispiel zeigt eine Beispielimplementierung der IsUserInRole Methode.

public override bool IsUserInRole(string username, string rolename)
{
  if (username == null || username == "")
    throw new ProviderException("User name cannot be empty or null.");
  if (rolename == null || rolename == "")
    throw new ProviderException("Role name cannot be empty or null.");

  bool userIsInRole = false;

  OdbcConnection conn = new OdbcConnection(connectionString);
  OdbcCommand cmd = new OdbcCommand("SELECT COUNT(*) FROM UsersInRoles "  +
                                    " WHERE Username = ? AND Rolename = ? AND ApplicationName = ?", conn);

  cmd.Parameters.Add("@Username", OdbcType.VarChar, 255).Value = username;
  cmd.Parameters.Add("@Rolename", OdbcType.VarChar, 255).Value = rolename;
  cmd.Parameters.Add("@ApplicationName", OdbcType.VarChar, 255).Value = ApplicationName;

  try
  {
    conn.Open();

    int numRecs = (int)cmd.ExecuteScalar();

    if (numRecs > 0)
    {
      userIsInRole = true;
    }
  }
  catch (OdbcException)
  {
    // Handle exception.
  }
  finally
  {
    conn.Close();      
  }

  return userIsInRole;
}
Public Overrides Function IsUserInRole(ByVal username As String, ByVal rolename As String) As Boolean
    If username Is Nothing OrElse username = "" Then _
      Throw New ProviderException("User name cannot be empty or null.")
    If rolename Is Nothing OrElse rolename = "" Then _
      Throw New ProviderException("Role name cannot be empty or null.")

    Dim userIsInRole As Boolean = False

    Dim conn As OdbcConnection = New OdbcConnection(connectionString)
    Dim cmd As OdbcCommand = New OdbcCommand("SELECT COUNT(*) FROM UsersInRoles " & _
                                             " WHERE Username = ? AND Rolename = ? AND ApplicationName = ?", conn)

    cmd.Parameters.Add("@Username", OdbcType.VarChar, 255).Value = username
    cmd.Parameters.Add("@Rolename", OdbcType.VarChar, 255).Value = rolename
    cmd.Parameters.Add("@ApplicationName", OdbcType.VarChar, 255).Value = ApplicationName

    Try
        conn.Open()

        Dim numRecs As Integer = CType(cmd.ExecuteScalar(), Integer)

        If numRecs > 0 Then
            userIsInRole = True
        End If
    Catch e As OdbcException
        ' Handle exception.
    Finally
        conn.Close()
    End Try

    Return userIsInRole
End Function

Hinweise

Die IsUserInRole -Methode wird von der IsUserInRole -Methode der Roles -Klasse aufgerufen, um zu bestimmen, ob der aktuell angemeldete Benutzer einer Rolle aus der Datenquelle für den konfigurierten ApplicationNamezugeordnet ist.

Wenn der angegebene Benutzername eine leere Zeichenfolge ist null oder ist, wird empfohlen, dass Ihr Anbieter eine Ausnahme auslöst.

Wenn der angegebene Rollenname eine leere Zeichenfolge ist null oder ist, wird empfohlen, dass Ihr Anbieter eine Ausnahme auslöst.

Gilt für:

Weitere Informationen