RoleProvider.IsUserInRole(String, 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 valore che indica se l'utente specificato appartiene al ruolo specificato per l'oggetto applicationName configurato.
public:
abstract bool IsUserInRole(System::String ^ username, System::String ^ roleName);
public abstract bool IsUserInRole(string username, string roleName);
abstract member IsUserInRole : string * string -> bool
Public MustOverride Function IsUserInRole (username As String, roleName As String) As Boolean
Parametri
- username
- String
Nome utente da cercare.
- roleName
- String
Ruolo in cui eseguire la ricerca.
Restituisce
true se l'utente specificato appartiene all'oggetto applicationName specificato. In caso contrario, false.
Esempio
Nell'esempio di codice seguente viene illustrata un'implementazione di esempio del IsUserInRole metodo.
public override bool IsUserInRole(string username, string rolename)
{
if (username == null || username == "")
throw new ProviderException("User name cannot be empty or null.");
if (rolename == null || rolename == "")
throw new ProviderException("Role name cannot be empty or null.");
bool userIsInRole = false;
OdbcConnection conn = new OdbcConnection(connectionString);
OdbcCommand cmd = new OdbcCommand("SELECT COUNT(*) FROM UsersInRoles " +
" WHERE Username = ? AND Rolename = ? AND ApplicationName = ?", conn);
cmd.Parameters.Add("@Username", OdbcType.VarChar, 255).Value = username;
cmd.Parameters.Add("@Rolename", OdbcType.VarChar, 255).Value = rolename;
cmd.Parameters.Add("@ApplicationName", OdbcType.VarChar, 255).Value = ApplicationName;
try
{
conn.Open();
int numRecs = (int)cmd.ExecuteScalar();
if (numRecs > 0)
{
userIsInRole = true;
}
}
catch (OdbcException)
{
// Handle exception.
}
finally
{
conn.Close();
}
return userIsInRole;
}
Public Overrides Function IsUserInRole(ByVal username As String, ByVal rolename As String) As Boolean
If username Is Nothing OrElse username = "" Then _
Throw New ProviderException("User name cannot be empty or null.")
If rolename Is Nothing OrElse rolename = "" Then _
Throw New ProviderException("Role name cannot be empty or null.")
Dim userIsInRole As Boolean = False
Dim conn As OdbcConnection = New OdbcConnection(connectionString)
Dim cmd As OdbcCommand = New OdbcCommand("SELECT COUNT(*) FROM UsersInRoles " & _
" WHERE Username = ? AND Rolename = ? AND ApplicationName = ?", conn)
cmd.Parameters.Add("@Username", OdbcType.VarChar, 255).Value = username
cmd.Parameters.Add("@Rolename", OdbcType.VarChar, 255).Value = rolename
cmd.Parameters.Add("@ApplicationName", OdbcType.VarChar, 255).Value = ApplicationName
Try
conn.Open()
Dim numRecs As Integer = CType(cmd.ExecuteScalar(), Integer)
If numRecs > 0 Then
userIsInRole = True
End If
Catch e As OdbcException
' Handle exception.
Finally
conn.Close()
End Try
Return userIsInRole
End Function
Commenti
Il IsUserInRole metodo viene chiamato dal IsUserInRole metodo della Roles classe per determinare se l'utente connesso corrente è associato a un ruolo dall'origine dati per l'oggetto configurato ApplicationName.
Se il nome utente specificato è o è null una stringa vuota, è consigliabile generare un'eccezione.
Se il nome del ruolo specificato è o è null una stringa vuota, è consigliabile generare un'eccezione.