RoleProvider.GetUsersInRole(String) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera listę użytkowników w określonej roli skonfigurowanej applicationName.
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()
Parametry
- roleName
- String
Nazwa roli do pobrania listy użytkowników.
Zwraca
Tablica ciągów zawierająca nazwy wszystkich użytkowników, którzy są członkami określonej roli skonfigurowanej applicationName.
Przykłady
Poniższy przykład kodu przedstawia przykładową implementację GetUsersInRole metody.
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
Uwagi
GetUsersInRole jest wywoływana przez GetUsersInRole metodę klasy w celu pobrania nazw użytkowników skojarzonych Roles z rolą ze źródła danych. Pobierane są tylko role skonfigurowane ApplicationName .
Jeśli określona nazwa roli nie istnieje dla skonfigurowanego applicationName lub jeśli jest null to ciąg pusty, zalecamy zgłoszenie wyjątku przez dostawcę.
Jeśli żaden użytkownik nie jest skojarzony z określoną rolą skonfigurowanego applicationNameelementu , zalecamy, aby dostawca zwrócił tablicę ciągów bez elementów.