estrutura PPP_EAP_INPUT (raseapif.h)
A estrutura PPP_EAP_INPUT é usada na interação entre a implementação do RAS Gerenciador de Conexões Service PPP e o EAP.
Essa estrutura fornece informações do usuário e facilita o uso de provedores de autenticação, como um servidor RADIUS.
Sintaxe
typedef struct _PPP_EAP_INPUT {
DWORD dwSizeInBytes;
DWORD fFlags;
BOOL fAuthenticator;
WCHAR *pwszIdentity;
WCHAR *pwszPassword;
BYTE bInitialId;
RAS_AUTH_ATTRIBUTE *pUserAttributes;
BOOL fAuthenticationComplete;
DWORD dwAuthResultCode;
HANDLE hTokenImpersonateUser;
BOOL fSuccessPacketReceived;
BOOL fDataReceivedFromInteractiveUI;
PBYTE pDataFromInteractiveUI;
DWORD dwSizeOfDataFromInteractiveUI;
PBYTE pConnectionData;
DWORD dwSizeOfConnectionData;
PBYTE pUserData;
DWORD dwSizeOfUserData;
HANDLE hReserved;
GUID guidConnectionId;
BOOL isVpn;
} PPP_EAP_INPUT, *PPPP_EAP_INPUT;
Membros
dwSizeInBytes
Especifica o tamanho em bytes da estrutura PPP_EAP_INPUT . O valor desse membro pode ser usado para distinguir entre versões atuais e futuras dessa estrutura.
fFlags
Especifica zero ou mais dos sinalizadores a seguir que qualificam o processo de autenticação.
fAuthenticator
Especifica se o protocolo de autenticação está operando no servidor ou no cliente. Um valor true indica que o protocolo de autenticação está operando no servidor como o autenticador. Um valor false indica que o protocolo de autenticação está operando no cliente como o processo a ser autenticado.
pwszIdentity
Ponteiro para uma cadeia de caracteres Unicode que identifica o usuário que solicita a autenticação. Essa cadeia de caracteres é do domínio do formulário\usuário ou computador\usuário.
Se o protocolo de autenticação for capaz de derivar a identidade do usuário de uma fonte adicional, por exemplo, um certificado, ele deverá verificar se a identidade derivada corresponde ao valor de pwszIdentity.
pwszPassword
Ponteiro para uma cadeia de caracteres Unicode que contém a senha da conta do usuário. Disponível somente se fAuthenticator for FALSE. Esse membro pode ser NULL.
bInitialId
Especifica o identificador do pacote EAP inicial enviado pela DLL. Esse valor é incrementado por um para cada pacote de solicitação subsequente.
pUserAttributes
Ponteiro para uma matriz de estruturas de RAS_AUTH_ATTRIBUTE . A matriz é encerrada por uma estrutura com um membro raaType que tem um valor de raatMinimum (consulte RAS_AUTH_ATTRIBUTE_TYPE). Durante a chamada RasEapBegin , essa matriz contém atributos que descrevem o usuário discado no momento. Quando o membro fAuthenticationComplete for TRUE, essa matriz poderá conter atributos retornados pelo provedor de autenticação.
fAuthenticationComplete
Especifica um valor booliano que indica se o provedor de autenticação autenticou o usuário. Um valor true indica a conclusão da autenticação. Verifique o membro dwAuthResultCode para determinar se a autenticação foi bem-sucedida. Ignore esse membro se o protocolo de autenticação não estiver usando um provedor de autenticação.
dwAuthResultCode
Especifica o resultado do processo de autenticação do provedor de autenticação. A autenticação bem-sucedida resulta em NO_ERROR. Os códigos de falha de autenticação para dwAuthResultCode devem vir apenas de Winerror.h, Raserror.h ou Mprerror.h. Ignore esse campo se o protocolo de autenticação não estiver usando um provedor de autenticação.
hTokenImpersonateUser
Manipule para um token de representação para o usuário que solicita a autenticação. Esse membro é válido apenas no lado do cliente. Para obter mais informações sobre tokens de representação, consulte Tokens de acesso.
fSuccessPacketReceived
Especifica que a autenticação foi bem-sucedida. RAS define esse membro como TRUE se o cliente receber um pacote NCP (Protocolo de Controle de Rede), mesmo que o cliente ainda não tenha recebido um pacote de êxito do EAP. Um valor false indica que nenhum pacote NCP foi recebido.
O pacote de êxito do EAP é um pacote não reconhecido. Portanto, ele pode ser perdido e não ser ressentido pelo servidor. Nessa situação, o recebimento de um pacote NCP indica que a autenticação foi bem-sucedida, pois o servidor passou para a fase NCP do PPP.
Examine esse membro somente no lado do cliente.
fDataReceivedFromInteractiveUI
Especifica se as informações estão disponíveis na interface interativa do usuário. O padrão é FALSE. RAS define esse membro como TRUE sempre que o usuário sai da interface interativa do usuário do protocolo de autenticação.
pDataFromInteractiveUI
Ponteiro para os dados recebidos da interface interativa do usuário do protocolo de autenticação. Esse ponteiro não será NULL se o membro fDataReceivedFromInteractiveUI for TRUE e a interface interativa do usuário retornar dados. Caso contrário, esse ponteiro será NULL.
Se não for NULL, o protocolo de autenticação deverá fazer uma cópia dos dados em seu próprio espaço de memória. RAS libera a memória ocupada por esses dados no retorno da chamada na qual a estrutura PPP_EAP_INPUT foi passada. Para liberar a memória, o RAS chama a função RasEapFreeMemory .
dwSizeOfDataFromInteractiveUI
Especifica o tamanho, em bytes, dos dados apontados por pDataFromInteractiveUI. Se nenhum dado for retornado da interface interativa do usuário, esse membro será zero.
pConnectionData
Ponteiro para os dados de conexão recebidos da interface do usuário de configuração do protocolo de autenticação. Esses dados só estão disponíveis quando a estrutura de PPP_EAP_INPUT é passada em RasEapBegin. Ele não está disponível em chamadas para RasEapMakeMessage.
O protocolo de autenticação deve fazer uma cópia desses dados em seu próprio espaço de memória. RAS libera a memória ocupada por esses dados no retorno da chamada na qual a estrutura PPP_EAP_INPUT foi passada. Para liberar a memória, o RAS chama a função RasEapFreeMemory .
Se a interface do usuário de configuração do protocolo de autenticação não retornar dados, esse membro será NULL.
dwSizeOfConnectionData
Especifica o tamanho em bytes dos dados apontados por pConnectionData. Se pConnectionData for NULL, esse membro será zero.
pUserData
Ponteiro para os dados do usuário recebidos da função RasEapGetIdentity do protocolo de autenticação no computador cliente. Se o protocolo de autenticação não implementar RasEapGetIdentity, esse membro apontará para dados do registro para esse usuário.
Esses dados só estão disponíveis quando a estrutura de PPP_EAP_INPUT é passada em RasEapBegin. Ele não está disponível em chamadas para RasEapMakeMessage.
O protocolo de autenticação deve fazer uma cópia desses dados em seu próprio espaço de memória. RAS libera a memória ocupada por esses dados no retorno da chamada na qual a estrutura PPP_EAP_INPUT foi passada.
Se a função RasEapGetIdentity não for implementada ou não tiver retornado nenhum dado e nenhum dado existir para o usuário no registro, esse membro será NULL.
dwSizeOfUserData
Especifica o tamanho, em bytes, dos dados apontados por pUserData. Se pUserData for NULL, esse membro será zero.
hReserved
Este membro é reservado.
guidConnectionId
isVpn
Comentários
A estrutura PPP_EAP_INPUT é passada pelo RAS para o protocolo de autenticação em chamadas para RasEapBegin e RasEapMakeMessage.
Os membros pwszIdentity e pwszPassword da estrutura PPP_EAP_INPUT são usados pela função RasEapBegin para obter informações do usuário. O membro pwszPassword será não NULL somente se o membro fAuthenticator for FALSE, ou seja, o protocolo de autenticação estiver em execução no computador cliente.
Se o protocolo de autenticação estiver usando um provedor de autenticação, como a autenticação de domínio Radius ou Windows 2000, os seguintes membros serão usados para fazer interface com o provedor de autenticação:
pUserAttributesfAuthenticationCompletedwAuthResultCode Observe que a matriz de estruturas de RAS_AUTH_ATTRIBUTE é passada somente se fAuthenticator for TRUE. Essa matriz contém informações de sessão atuais, como identificador de porta e endereço IP local.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Cabeçalho | raseapif.h |