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.
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
Informazioni di riferimento sul protocollo di autenticazione estendibile