RoleProvider.GetUsersInRole(String) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft eine Liste der Benutzer mit der angegebenen Rolle für die konfigurierte applicationName
ab.
public:
abstract cli::array <System::String ^> ^ GetUsersInRole(System::String ^ roleName);
public abstract string[] GetUsersInRole (string roleName);
abstract member GetUsersInRole : string -> string[]
Public MustOverride Function GetUsersInRole (roleName As String) As String()
Parameter
- roleName
- String
Der Name der Rolle, für die die Liste der Benutzer abgerufen werden soll.
Gibt zurück
Ein Zeichenfolgenarray mit den Namen aller Benutzer, die Mitglieder der angegebenen Rolle für die konfigurierte applicationName
sind.
Beispiele
Das folgende Codebeispiel zeigt eine Beispielimplementierung der GetUsersInRole -Methode.
public override string[] GetUsersInRole(string rolename)
{
if (rolename == null || rolename == "")
throw new ProviderException("Role name cannot be empty or null.");
if (!RoleExists(rolename))
throw new ProviderException("Role does not exist.");
string tmpUserNames = "";
OdbcConnection conn = new OdbcConnection(connectionString);
OdbcCommand cmd = new OdbcCommand("SELECT Username FROM UsersInRoles " +
" WHERE Rolename = ? AND ApplicationName = ?", conn);
cmd.Parameters.Add("@Rolename", OdbcType.VarChar, 255).Value = rolename;
cmd.Parameters.Add("@ApplicationName", OdbcType.VarChar, 255).Value = ApplicationName;
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 new string[0];
}
Public Overrides Function GetUsersInRole(ByVal rolename As String) As String()
If rolename Is Nothing OrElse rolename = "" Then _
Throw New ProviderException("Role name cannot be empty or null.")
If Not RoleExists(rolename) Then _
Throw New ProviderException("Role does not exist.")
Dim tmpUserNames As String = ""
Dim conn As OdbcConnection = New OdbcConnection(connectionString)
Dim cmd As OdbcCommand = New OdbcCommand("SELECT Username FROM UsersInRoles " & _
" WHERE Rolename = ? AND ApplicationName = ?", conn)
cmd.Parameters.Add("@Rolename", OdbcType.VarChar, 255).Value = rolename
cmd.Parameters.Add("@ApplicationName", OdbcType.VarChar, 255).Value = ApplicationName
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 New String() {}
End Function
Hinweise
GetUsersInRole wird von der GetUsersInRole -Methode der Roles -Klasse aufgerufen, um die benutzernamen abzurufen, die einer Rolle aus der Datenquelle zugeordnet sind. Nur die Rollen für die konfigurierte ApplicationName werden abgerufen.
Wenn der angegebene Rollenname für die konfigurierte applicationName
nicht vorhanden ist oder es sich um eine leere Zeichenfolge handelt null
, wird empfohlen, dass Ihr Anbieter eine Ausnahme auslöst.
Wenn der angegebenen Rolle für den konfigurierten applicationName
keine Benutzer zugeordnet sind, wird empfohlen, dass Ihr Anbieter ein Zeichenfolgenarray ohne Elemente zurückgibt.