Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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
IHttpUserimplementador manipular a autenticação Anônima, o parâmetro desreferenciadopfInRoleserá definidotruecomo somente se opszRoleNameparâmetro for NULL ou vazio.IsInRoleem seguida, sempre retorna S_OK.Se o
IHttpUserimplementador manipular a autenticação Básica, Mapeamento de Certificação, SSPI ou Personalizada, opfInRoleparâmetro não será modificado eIsInRoleretornará E_NOTIMPL imediatamente.Se o
IHttpUserimplementador manipular a autenticação gerenciada, opfInRoleparâmetro não será modificado eIsInRoleretornará E_INVALIDARG imediatamente se um dos parâmetros for NULL. Caso contrário,pfInRoleserá definidotruecomo eIsInRoleretornará 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 |