RoleProvider.IsUserInRole(String, String) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Obtém um valor que indica se o utilizador especificado está no papel especificado para o .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 utilizador a procurar.
- roleName
- String
O papel a procurar.
Devoluções
true se o utilizador especificado estiver no papel especificado para o configurado applicationName; caso contrário, false.
Exemplos
O exemplo de código seguinte mostra uma implementação exemplar do IsUserInRole método.
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
Observações
O IsUserInRole método é chamado pelo IsUserInRole método da Roles classe para determinar se o utilizador atualmente ligado está associado a um papel da fonte de dados para o .ApplicationName
Se o nome de utilizador especificado for null ou for uma cadeia vazia, recomendamos que o seu fornecedor faça uma exceção.
Se o nome do papel especificado for null ou for uma cadeia vazia, recomendamos que o seu fornecedor faça uma exceção.