RoleProvider.IsUserInRole(String, String) Método
Definição
Obtém um valor que indica se o usuário especificado está na função especificada para o applicationName configurado.Gets a value indicating whether the specified user is in the specified role for the configured applicationName.
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
Parâmetros
- username
- String
O nome de usuário a ser pesquisado.The user name to search for.
- roleName
- String
A função a ser pesquisada.The role to search in.
Retornos
true se o usuário especificado estiver na função especificada do applicationName configurado; caso contrário, false.true if the specified user is in the specified role for the configured applicationName; otherwise, false.
Exemplos
O exemplo de código a seguir mostra uma implementação de exemplo do IsUserInRole método.The following code example shows a sample implementation of the IsUserInRole method.
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
Comentários
O IsUserInRole método é chamado pelo IsUserInRole método da Roles classe para determinar se o usuário conectado no momento está associado a uma função da fonte de dados para o configurado ApplicationName .The IsUserInRole method is called by the IsUserInRole method of the Roles class to determine whether the current logged-on user is associated with a role from the data source for the configured ApplicationName.
Se o nome de usuário especificado for null ou for uma cadeia de caracteres vazia, recomendamos que seu provedor gere uma exceção.If the specified user name is null or is an empty string, we recommend that your provider throw an exception.
Se o nome da função especificada for null ou for uma cadeia de caracteres vazia, recomendamos que seu provedor gere uma exceção.If the specified role name is null or is an empty string, we recommend that your provider throw an exception.