RoleProvider.GetUsersInRole(String) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá seznam uživatelů v zadané roli pro nakonfigurované 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
Název role pro získání seznamu uživatelů.
Návraty
Pole řetězců obsahující názvy všech uživatelů, kteří jsou členy zadané role pro nakonfigurovanou applicationName.
Příklady
Následující příklad kódu ukazuje ukázkovou implementaci 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
Poznámky
GetUsersInRole volá se GetUsersInRole metodou třídy k načtení uživatelských Roles jmen přidružených k roli ze zdroje dat. Načtou se jenom role nakonfigurované ApplicationName .
Pokud zadaný název role neexistuje pro nakonfigurované applicationName nebo pokud je null nebo je prázdný řetězec, doporučujeme, aby váš poskytovatel vyvolá výjimku.
Pokud nejsou k nakonfigurované applicationNameroli přidruženi žádní uživatelé, doporučujeme, aby váš poskytovatel vrátil pole řetězců bez prvků.