RoleProvider.GetRolesForUser(String) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene un elenco dei ruoli a cui appartiene un utente specificato per l'oggetto applicationName
configurato.
public:
abstract cli::array <System::String ^> ^ GetRolesForUser(System::String ^ username);
public abstract string[] GetRolesForUser (string username);
abstract member GetRolesForUser : string -> string[]
Public MustOverride Function GetRolesForUser (username As String) As String()
Parametri
- username
- String
Utente per il quale restituire un elenco di ruoli.
Restituisce
Matrice di stringhe contenente i nomi di tutti i ruoli a cui appartiene l'utente specificato per l'oggetto applicationName
configurato.
Esempio
Nell'esempio di codice seguente viene illustrata un'implementazione di esempio del GetRolesForUser metodo .
public override string[] GetRolesForUser(string username)
{
if (username == null || username == "")
throw new ProviderException("User name cannot be empty or null.");
string tmpRoleNames = "";
OdbcConnection conn = new OdbcConnection(connectionString);
OdbcCommand cmd = new OdbcCommand("SELECT Rolename FROM UsersInRoles " +
" WHERE Username = ? AND ApplicationName = ?", conn);
cmd.Parameters.Add("@Username", OdbcType.VarChar, 255).Value = username;
cmd.Parameters.Add("@ApplicationName", OdbcType.VarChar, 255).Value = ApplicationName;
OdbcDataReader reader = null;
try
{
conn.Open();
reader = cmd.ExecuteReader();
while (reader.Read())
{
tmpRoleNames += reader.GetString(0) + ",";
}
}
catch (OdbcException)
{
// Handle exception.
}
finally
{
if (reader != null) { reader.Close(); }
conn.Close();
}
if (tmpRoleNames.Length > 0)
{
// Remove trailing comma.
tmpRoleNames = tmpRoleNames.Substring(0, tmpRoleNames.Length - 1);
return tmpRoleNames.Split(',');
}
return new string[0];
}
Public Overrides Function GetRolesForUser(ByVal username As String) As String()
If username Is Nothing OrElse username = "" Then _
Throw New ProviderException("User name cannot be empty or null.")
Dim tmpRoleNames As String = ""
Dim conn As OdbcConnection = New OdbcConnection(connectionString)
Dim cmd As OdbcCommand = New OdbcCommand("SELECT Rolename FROM UsersInRoles " & _
" WHERE Username = ? AND ApplicationName = ?", conn)
cmd.Parameters.Add("@Username", OdbcType.VarChar, 255).Value = username
cmd.Parameters.Add("@ApplicationName", OdbcType.VarChar, 255).Value = ApplicationName
Dim reader As OdbcDataReader = Nothing
Try
conn.Open()
reader = cmd.ExecuteReader()
Do While reader.Read()
tmpRoleNames &= reader.GetString(0) & ","
Loop
Catch e As OdbcException
' Handle exception.
Finally
If Not reader Is Nothing Then reader.Close()
conn.Close()
End Try
If tmpRoleNames.Length > 0 Then
' Remove trailing comma.
tmpRoleNames = tmpRoleNames.Substring(0, tmpRoleNames.Length - 1)
Return tmpRoleNames.Split(CChar(","))
End If
Return New String() {}
End Function
Commenti
GetRolesForUser viene chiamato dal GetRolesForUser metodo della Roles classe per recuperare i nomi di ruolo a cui è associato l'utente specificato dall'origine dati. Vengono recuperati solo i ruoli per l'oggetto configurato ApplicationName .
Se non esistono ruoli per l'utente specificato per l'oggetto configurato applicationName
, è consigliabile che il provider restituisca una matrice di stringhe senza elementi.
Se il nome utente specificato è null
o è una stringa vuota, è consigliabile che il provider generi un'eccezione.