Método IHttpUser::IsInRole
Retorna um valor que indica se o usuário está autorizado para uma função nomeada.
Sintaxe
virtual HRESULT IsInRole(
IN PCWSTR pszRoleName,
OUT BOOL* pfInRole
) = 0;
Parâmetros
pszRoleName
[IN] Um ponteiro para uma cadeia de caracteres Unicode terminada em nulo constante que contém o nome da função.
pfInRole
[OUT] Um ponteiro para um BOOL
que indica se o usuário está autorizado para a função especificada por pszRoleName
.
Valor Retornado
Um HRESULT
. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir.
Valor | Definição |
---|---|
S_OK | Indica que a operação foi bem-sucedida. |
E_NOTIMPL | Indica que o IsInRole método não foi implementado. |
Comentários
Chame o IsInRole
método somente se o método SupportsIsInRole retornar true
primeiro no mesmo ponteiro IHttpUser .
O IsInRole
valor retornado depende da implementação. Você deve usar as seguintes informações como uma diretriz, mas elas podem não estar corretas em todos os cenários:
Se o
IHttpUser
implementador manipular a autenticação Anônima, o parâmetro desreferenciadopfInRole
será definidotrue
como somente se opszRoleName
parâmetro for NULL ou vazio.IsInRole
em seguida, sempre retorna S_OK.Se o
IHttpUser
implementador manipular a autenticação Básica, Mapeamento de Certificação, SSPI ou Personalizada, opfInRole
parâmetro não será modificado eIsInRole
retornará E_NOTIMPL imediatamente.Se o
IHttpUser
implementador manipular a autenticação gerenciada, opfInRole
parâmetro não será modificado eIsInRole
retornará E_INVALIDARG imediatamente se um dos parâmetros for NULL. Caso contrário,pfInRole
será definidotrue
como eIsInRole
retornará S_OK somente se o usuário estiver na função.
Exemplo
O exemplo de código a seguir demonstra como criar um módulo HTTP que limpa os cabeçalhos e o corpo da resposta e, em seguida, retorna informações do usuário para o cliente como um documento XML.
O código acima grava XML semelhante ao seguinte ao fluxo de resposta.
<?xml version="1.0" ?>
<user supportsRoles="true" isInRole="false" />
Seu módulo deve exportar a função RegisterModule . Você pode exportar essa função criando um arquivo de definição de módulo (.def) para seu projeto ou pode compilar o módulo usando a opção /EXPORT:RegisterModule
. Para obter mais informações, consulte Passo a passo: criando um módulo HTTP Request-Level usando código nativo.
Opcionalmente, você pode compilar o código usando a __stdcall (/Gz)
convenção de chamada em vez de declarar explicitamente a convenção de chamada para cada função.
Requisitos
Type | Descrição |
---|---|
Cliente | – IIS 7.0 no Windows Vista – IIS 7.5 no Windows 7 – IIS 8.0 no Windows 8 – IIS 10.0 no Windows 10 |
Servidor | – IIS 7.0 no Windows Server 2008 – IIS 7.5 no Windows Server 2008 R2 – IIS 8.0 no Windows Server 2012 – IIS 8.5 no Windows Server 2012 R2 – IIS 10.0 no Windows Server 2016 |
Produto | - IIS 7.0, IIS 7.5, IIS 8.0, IIS 8.5, IIS 10.0 - IIS Express 7.5, IIS Express 8.0, IIS Express 10.0 |
parâmetro | Httpserv.h |