Recupero delle informazioni sull'identità

Il fornitore che implementa il protocollo di autenticazione può anche fornire un'interfaccia di funzione che ottiene le informazioni di identificazione iniziali per l'utente che richiede l'autenticazione.

Il fornitore deve implementare le funzioni seguenti.

Queste funzioni possono essere implementate nella stessa DLL del protocollo di autenticazione o in una DLL separata. Inoltre, la DLL che implementa le funzioni di identità può supportare più protocolli di autenticazione. Il percorso della DLL per queste funzioni viene archiviato nel valore del Registro di sistema RAS_EAP_VALUENAME_IDENTITY , sotto la chiave per il protocollo di autenticazione. Per altre informazioni sulla creazione di questo valore del Registro di sistema, vedere Installazione EAP.

La funzione RasEapGetIdentity visualizza in genere un'interfaccia utente per ottenere informazioni sull'identità per l'utente. Tuttavia, se il parametro dwFlags contiene il flag RAS_EAP_FLAG_NON_INTERACTIVE, RasEapGetIdentity non deve visualizzare un'interfaccia utente.

Se RasEapGetIdentity visualizza un'interfaccia utente, l'interfaccia utente deve supportare WM_COMMAND messaggi in cui il valore di LOWORD (wParam) è uguale a IDCANCEL.

Il servizio di autenticazione chiama RasEapGetIdentity se il valore RAS_EAP_VALUENAME_INVOKE_NAMEDLG presente nel Registro di sistema per questo EAP è impostato su zero. Se RAS_EAP_VALUENAME_INVOKE_NAMEDLG non è presente o è presente e è impostato su uno, il servizio di autenticazione visualizza la finestra di dialogo nome utente di sistema standard.

Oltre a RAS_EAP_VALUENAME_INVOKE_NAMEDLG, il fornitore EAP può creare un valore correlato, RAS_EAP_VALUENAME_INVOKE_PWDDLG, nel Registro di sistema. Se questo valore è presente e è impostato su zero, il servizio non visualizzerà la finestra di dialogo della password di sistema standard. Questo valore è utile quando si implementa un metodo biometrico, ad esempio un'analisi delle impronte digitali per autenticare l'utente. Se i valori RAS_EAP_VALUENAME_INVOKE_NAMEDLG e RAS_EAP_VALUENAME_INVOKE_PWDDLG sono zero, è possibile usare un'interfaccia utente di identità per ottenere sia l'identità che le informazioni biometriche. Tuttavia, se solo RAS_EAP_VALUENAME_INVOKE_PWDDLG è zero, il servizio di autenticazione non chiamerà RasEapGetIdentity. In questo caso, è possibile usare l'interfaccia utente interattiva per ottenere le informazioni biometriche.

Per altre informazioni su questi valori del Registro di sistema, vedere Valori del Registro di sistema del protocollo di autenticazione.

Le informazioni ottenute da RasEapGetIdentity vengono passate al protocollo di autenticazione durante la chiamata a RasEapBegin. Le informazioni fanno riferimento ai membri pszIdentity e pUserData della struttura PPP_EAP_INPUT . Per salvare queste informazioni nel Registro di sistema nel computer client, il protocollo di autenticazione deve restituire le informazioni nel parametro pEapOutput di RasEapMakeMessage.

Dopo la chiamata a RasEapBegin, il servizio di autenticazione chiama RasEapFreeMemory per liberare la memoria occupata da questi dati. Pertanto, il protocollo di autenticazione deve copiare le informazioni in un buffer di memoria privato durante la chiamata a RasEapBegin.