struttura PPP_EAP_OUTPUT (raseapif.h)

Il protocollo di autenticazione usa la struttura di PPP_EAP_OUTPUT per comunicare le richieste e le informazioni sullo stato al Gestione connessioni al ritorno dalle chiamate a RasEapMakeMessage.

Sintassi

typedef struct _PPP_EAP_OUTPUT {
  DWORD              dwSizeInBytes;
  PPP_EAP_ACTION     Action;
  DWORD              dwAuthResultCode;
  RAS_AUTH_ATTRIBUTE *pUserAttributes;
  BOOL               fInvokeInteractiveUI;
  PBYTE              pUIContextData;
  DWORD              dwSizeOfUIContextData;
  BOOL               fSaveConnectionData;
  PBYTE              pConnectionData;
  DWORD              dwSizeOfConnectionData;
  BOOL               fSaveUserData;
  PBYTE              pUserData;
  DWORD              dwSizeOfUserData;
  NgcTicketContext   *pNgcKerbTicket;
  BOOL               fSaveToCredMan;
} PPP_EAP_OUTPUT, *PPPP_EAP_OUTPUT;

Members

dwSizeInBytes

Specifica le dimensioni di questa struttura.

Action

Specifica un valore PPP_EAP_ACTION . Il Gestione connessioni esegue questa azione per conto del protocollo di autenticazione.

dwAuthResultCode

Specifica se l'autenticazione è riuscita. Qualsiasi valore diverso da zero per dwAuthResultCode indica un errore. Il codice di errore deve provenire da Winerror.h, Raserror.h o Mprerror.h. Questo membro è valido solo se il membro Action ha un valore di EAPACTION_Done o EAPACTION_SendAndDone.

pUserAttributes

Puntatore a una matrice facoltativa di strutture RAS_AUTH_ATTRIBUTE . La matrice viene terminata da una struttura con un membro raaType con valore raatMinimum (vedere RAS_AUTH_ATTRIBUTE_TYPE).

Questo membro deve essere impostato sul lato autenticatore quando Action è EAPACTION_Authenticate oppure quando Action è EAPACTION_Done o EAPACTION_SendAndDone e dwAuthResultCode è zero.

Quando Action è EAPACTION_Authenticate, la matrice può contenere attributi aggiuntivi necessari per autenticare l'utente, ad esempio la password utente. Se il protocollo di autenticazione passa solo il nome utente, RAS non richiama il provider di autenticazione per autenticare l'utente, ras passa solo gli attributi correnti per l'utente.

Quando Action è EAPACTION_Done o EAPACTION_SendAndDone e dwAuthResultCode è zero, la matrice può contenere attributi aggiuntivi da assegnare all'utente. Questi attributi sovrascrivono tutti gli attributi dello stesso tipo restituiti dal provider di autenticazione.

Il protocollo di autenticazione libera questa memoria nella funzione RasEapEnd .

fInvokeInteractiveUI

Specifica se RAS deve richiamare l'interfaccia utente interattiva del protocollo di autenticazione. Se il protocollo di autenticazione imposta questo membro su TRUE, RAS richiama l'interfaccia utente interattiva chiamando la funzione RasEapInvokeInteractiveUI fornita dal protocollo di autenticazione.

pUIContextData

Puntatore ai dati di contesto che RAS devono passare la chiamata a RasEapInvokeInteractiveUI. Il protocollo di autenticazione deve liberare questa memoria nell'implementazione di RasEapEnd.

dwSizeOfUIContextData

Specifica le dimensioni dei dati di contesto che RAS devono passare alla chiamata a RasEapInvokeInteractiveUI.

fSaveConnectionData

Specifica se RAS deve salvare le informazioni a cui punta il membro pConnectionData . Se fSaveConnectionData è TRUE, RAS salverà i dati nella rubrica. Valido solo per il processo che viene autenticato.

pConnectionData

Identifica i dati specifici della connessione, ovvero i dati non specifici di un determinato utente. Se il membro fSaveConnectionData è TRUE, RAS salva i dati di connessione nella rubrica telefonica. Il protocollo di autenticazione deve liberare la memoria occupata da questi dati durante la chiamata a RasEapEnd.

dwSizeOfConnectionData

Specifica le dimensioni, in byte, dei dati a cui punta il membro pConnectionData .

fSaveUserData

Specifica se RAS deve salvare i dati utente a cui punta il membro pUserData . Se questo parametro è TRUE, RAS salva i dati specifici dell'utente nel Registro di sistema in HKEY_CURRENT_USER.

pUserData

Puntatore ai dati utente che RAS devono salvare nel Registro di sistema. RAS salva questi dati nel Registro di sistema in HKEY_CURRENT_USER. Il protocollo di autenticazione deve liberare questa memoria durante la chiamata a RasEapEnd.

dwSizeOfUserData

Specifica le dimensioni in byte dei dati a cui punta pUserData.

pNgcKerbTicket

fSaveToCredMan

Commenti

Usare la funzione RasEapMakeMessage per passare la struttura PPP_EAP_OUTPUT tra il protocollo di autenticazione e il Gestione connessioni.

Il protocollo di autenticazione può usare la struttura di PPP_EAP_OUTPUT per restituire le chiavi di sessione MPPE (Point-to-Point Encryption) di Microsoft. Il protocollo di autenticazione deve inserire le chiavi di sessione nel campo valore di un attributo secondario contenuto nel campo valore di un attributo di tipo raatVendorSpecific (vedere RAS_AUTH_ATTRIBUTE_TYPE). L'attributo secondario deve avere un ID fornitore pari a 311 (Microsoft) e il tipo fornitore di MS-MPPE-Recv-Keys (17) e MS-MPPE-Send-Keys (16). Il protocollo di autenticazione deve impostare il membro pUserAttributes in modo che punti all'attributo raatVendorSpecific e impostare il membro Action su EAPACTION_Done o EAPACTION_SendAndDone. Per altre informazioni sul formato dell'attributo secondario MPPE, vedere Attributi RADIUS specifici del fornitore Microsoft. Per altre informazioni sui formati di attributo, vedere RAS_AUTH_ATTRIBUTE, RAS_AUTH_ATTRIBUTE_TYPE e RFC 2865.

Nota Quando si formattano gli attributi per le chiavi di crittografia, è consigliabile usare MSCHAPv2 e le relative chiavi MS-MPPE-Recv-Keys e MS-MPPE-Send-Keys, che creano una crittografia avanzata anziché MSCHAPv1 e ms-CHAP-MPPE-Keys.
 

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

PPP_EAP_ACTION

RAS_AUTH_ATTRIBUTE

RasEapInvokeInteractiveUI

RasEapMakeMessage