RoleProvider.GetUsersInRole(String) Método
Definição
Obtém uma lista de usuários na função especificada para o applicationName configurado.Gets a list of users in the specified role for the configured 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()
Parâmetros
- roleName
- String
O nome da função para a qual a lista de usuários será obtida.The name of the role to get the list of users for.
Retornos
- String[]
Uma matriz de cadeia de caracteres que contém os nomes de todos os usuários que são membros da função especificada para o applicationName configurado.A string array containing the names of all the users who are members of the specified role for the configured applicationName.
Exemplos
O exemplo de código a seguir mostra uma implementação de exemplo do GetUsersInRole método.The following code example shows a sample implementation of the GetUsersInRole method.
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
Comentários
GetUsersInRole é chamado pelo GetUsersInRole método da Roles classe para recuperar os nomes de usuário associados a uma função da fonte de dados.GetUsersInRole is called by the GetUsersInRole method of the Roles class to retrieve the user names associated with a role from the data source. Somente as funções para os configuradas ApplicationName são recuperadas.Only the roles for the configured ApplicationName are retrieved.
Se o nome da função especificada não existir para o configurado applicationName ou se for null ou uma cadeia de caracteres vazia, recomendamos que o provedor gere uma exceção.If the specified role name does not exist for the configured applicationName or if it is null or an empty string, we recommend that your provider throw an exception.
Se nenhum usuário estiver associado à função especificada para o configurado applicationName , recomendamos que seu provedor retorne uma matriz de cadeia de caracteres sem elementos.If no users are associated with the specified role for the configured applicationName, we recommend that your provider return a string array with no elements.