struttura PPP_EAP_INPUT (raseapif.h)

La struttura PPP_EAP_INPUT viene usata nell'interazione tra l'implementazione RAS Gestione connessioni Service PPP e l'EAP.

Questa struttura fornisce informazioni utente e facilita l'uso dei provider di autenticazione, ad esempio un server RADIUS.

Sintassi

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;

Members

dwSizeInBytes

Specifica le dimensioni in byte della struttura PPP_EAP_INPUT . Il valore di questo membro può essere utilizzato per distinguere tra le versioni correnti e future di questa struttura.

fFlags

Specifica zero o più flag seguenti che qualificano il processo di autenticazione.

Valore Significato
RAS_EAP_FLAG_ROUTER
Specifica se la composizione del computer è un router o un client RAS. Se il computer è un router, questo parametro deve essere impostato.
RAS_EAP_FLAG_NON_INTERACTIVE
Specifica che il protocollo di autenticazione non deve visualizzare un'interfaccia utente. Se il protocollo di autenticazione non è in grado di determinare l'identità dai dati forniti, deve restituire il codice di errore ERROR_INTERACTIVE_MODE, definito in raserror.h.
RAS_EAP_FLAG_LOGON
Specifica che i dati utente ottenuti da Winlogon.
RAS_EAP_FLAG_FIRST_LINK
Indica che questa connessione è il primo collegamento in una connessione multilink. Per altre informazioni, vedere [Multilink and Callback Connections](/windows/win32/eap/multilink-and-callback-connections).
RAS_EAP_FLAG_GUEST_ACCESS
Specificato se il client desidera l'accesso guest. Questo flag viene in genere usato nel caso di una connessione wireless in modo che se l'autenticazione non riesce per N numero di tentativi consecutivi il client wireless, se configurato per richiedere l'accesso guest, lo fa passando questo flag. Il server RADIUS deve essere configurato per consentire l'accesso guest.
RAS_EAP_FLAG_8021X_AUTH
Specifica che questa sessione viene eseguita in un contesto wireless.
RAS_EAP_FLAG_RESUME_FROM_HIBERNATE
Specifica che si tratta della prima chiamata dopo che il computer è stato ripreso dall'ibernazione.
RAS_EAP_FLAG_PEAP_UPFRONT
Specifica che PEAP è abilitato all'inizio della pipeline IAS.
RAS_EAP_FLAG_ALTERNATIVE_USER_DB
Specifica che il database utente non è Active Directory.
RAS_EAP_FLAG_PRE_LOGON
Specifica che le credenziali per l'utente o un account computer devono essere ottenute in modo sicuro senza generare più istanze dell'interfaccia utente.

fAuthenticator

Specifica se il protocollo di autenticazione funziona nel server o nel client. Il valore TRUE indica che il protocollo di autenticazione opera sul server come autenticatore. Il valore FALSE indica che il protocollo di autenticazione opera sul client come processo da autenticare.

pwszIdentity

Puntatore a una stringa Unicode che identifica l'utente che richiede l'autenticazione. Questa stringa è del formato dominio\utente o computer\utente.

Se il protocollo di autenticazione è in grado di derivare l'identità dell'utente da un'origine aggiuntiva, ad esempio un certificato, deve verificare che l'identità derivata corrisponda al valore di pwszIdentity.

pwszPassword

Puntatore a una stringa Unicode contenente la password dell'account dell'utente. Disponibile solo se fAuthenticator è FALSE. Questo membro può essere NULL.

bInitialId

Specifica l'identificatore del pacchetto EAP iniziale inviato dalla DLL. Questo valore viene incrementato di uno per ogni pacchetto di richiesta successivo.

pUserAttributes

Puntatore a una matrice di strutture RAS_AUTH_ATTRIBUTE . La matrice viene terminata da una struttura con un membro raaType con valore raatMinimum (vedere RAS_AUTH_ATTRIBUTE_TYPE). Durante la chiamata RasEapBegin , questa matrice contiene attributi che descrivono l'utente attualmente connesso. Quando il membro fAuthenticationComplete è TRUE, questa matrice può contenere attributi restituiti dal provider di autenticazione.

fAuthenticationComplete

Specifica un valore booleano che indica se il provider di autenticazione ha autenticato l'utente. Il valore TRUE indica il completamento dell'autenticazione. Controllare il membro dwAuthResultCode per determinare se l'autenticazione è riuscita. Ignorare questo membro se il protocollo di autenticazione non usa un provider di autenticazione.

dwAuthResultCode

Specifica il risultato del processo di autenticazione del provider di autenticazione. L'autenticazione ha esito positivo NO_ERROR. I codici di errore di autenticazione per dwAuthResultCode devono provenire solo da Winerror.h, Raserror.h o Mprerror.h. Ignorare questo campo se il protocollo di autenticazione non usa un provider di autenticazione.

hTokenImpersonateUser

Gestire un token di rappresentazione per l'utente che richiede l'autenticazione. Questo membro è valido solo sul lato client. Per altre informazioni sui token di rappresentazione, vedere Token di accesso.

fSuccessPacketReceived

Specifica che l'autenticazione è riuscita. RAS imposta questo membro su TRUE se il client riceve un pacchetto NCP (Network Control Protocol) anche se il client non ha ancora ricevuto un pacchetto di operazione riuscita EAP. Il valore FALSE indica che non è stato ricevuto alcun pacchetto NCP.

Il pacchetto di operazione riuscita EAP è un pacchetto non riconosciuto. Pertanto, può essere perso e non risentito dal server. In questo caso, la ricezione di un pacchetto NCP indica che l'autenticazione è stata eseguita correttamente, dal momento che il server è passato alla fase NCP di PPP.

Esaminare questo membro solo sul lato client.

fDataReceivedFromInteractiveUI

Specifica se le informazioni sono disponibili dall'interfaccia utente interattiva. Il valore predefinito è FALSE. RAS imposta questo membro su TRUE ogni volta che l'utente esce dall'interfaccia utente interattiva del protocollo di autenticazione.

pDataFromInteractiveUI

Puntatore ai dati ricevuti dall'interfaccia utente interattiva del protocollo di autenticazione. Questo puntatore non è NULL se il membro fDataReceivedFromInteractiveUI è TRUE e l'interfaccia utente interattiva ha restituito dati. In caso contrario, questo puntatore è NULL.

Se non è NULL, il protocollo di autenticazione deve creare una copia dei dati nel proprio spazio di memoria. RAS libera la memoria occupata da questi dati al ritorno dalla chiamata in cui è stata passata la struttura PPP_EAP_INPUT . Per liberare la memoria, RAS chiama la funzione RasEapFreeMemory .

dwSizeOfDataFromInteractiveUI

Specifica le dimensioni, in byte, dei dati a cui punta pDataFromInteractiveUI. Se non vengono restituiti dati dall'interfaccia utente interattiva, questo membro è zero.

pConnectionData

Puntatore ai dati di connessione ricevuti dall'interfaccia utente di configurazione del protocollo di autenticazione. Questi dati sono disponibili solo quando la struttura PPP_EAP_INPUT viene passata in RasEapBegin. Non è disponibile nelle chiamate a RasEapMakeMessage.

Il protocollo di autenticazione deve creare una copia di questi dati nel proprio spazio di memoria. RAS libera la memoria occupata da questi dati al ritorno dalla chiamata in cui è stata passata la struttura PPP_EAP_INPUT . Per liberare la memoria, RAS chiama la funzione RasEapFreeMemory .

Se l'interfaccia utente di configurazione del protocollo di autenticazione non restituisce dati, questo membro è NULL.

dwSizeOfConnectionData

Specifica le dimensioni in byte dei dati a cui punta pConnectionData. Se pConnectionData è NULL, questo membro è zero.

pUserData

Puntatore ai dati utente ricevuti dalla funzione RasEapGetIdentity del protocollo di autenticazione nel computer client. Se il protocollo di autenticazione non implementa RasEapGetIdentity, questo membro punta ai dati del Registro di sistema per questo utente.

Questi dati sono disponibili solo quando la struttura PPP_EAP_INPUT viene passata in RasEapBegin. Non è disponibile nelle chiamate a RasEapMakeMessage.

Il protocollo di autenticazione deve creare una copia di questi dati nel proprio spazio di memoria. RAS libera la memoria occupata da questi dati al ritorno dalla chiamata in cui è stata passata la struttura PPP_EAP_INPUT .

Se la funzione RasEapGetIdentity non è implementata o non ha restituito dati e non esistono dati per l'utente nel Registro di sistema, questo membro è NULL.

dwSizeOfUserData

Specifica le dimensioni, in byte, dei dati a cui punta pUserData. Se pUserData è NULL, questo membro è zero.

hReserved

Questo membro è riservato.

guidConnectionId

isVpn

Commenti

La struttura PPP_EAP_INPUT viene passata da RAS al protocollo di autenticazione nelle chiamate a RasEapBegin e RasEapMakeMessage.

I membri pwszIdentity e pwszPassword della struttura PPP_EAP_INPUT vengono usati dalla funzione RasEapBegin per ottenere informazioni utente. Il membro pwszPassword è diverso da NULL solo se il membro fAuthenticator è FALSE, ovvero il protocollo di autenticazione è in esecuzione nel computer client.

Se il protocollo di autenticazione usa un provider di autenticazione, ad esempio l'autenticazione di dominio Radius o Windows 2000, i membri seguenti vengono usati per interfacciarsi con il provider di autenticazione:

pUserAttributesfAuthenticationCompletedwAuthResultCode Si noti che la matrice di strutture RAS_AUTH_ATTRIBUTE viene passata solo se fAuthenticator è TRUE. Questa matrice contiene informazioni sulla sessione correnti, ad esempio l'identificatore della porta e l'indirizzo IP locale.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Intestazione raseapif.h

Vedi anche

Strutture EAP

Informazioni di riferimento sul protocollo di autenticazione estendibile

RAS_AUTH_ATTRIBUTE

RasEapBegin

RasEapFreeMemory

RasEapGetIdentity

RasEapMakeMessage