estructura PPP_EAP_INPUT (raseapif.h)
La estructura PPP_EAP_INPUT se usa en la interacción entre la implementación de PPP del servicio de Administrador de conexiones RAS y el EAP.
Esta estructura proporciona información de usuario y facilita el uso de proveedores de autenticación, como un servidor RADIUS.
Sintaxis
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;
Miembros
dwSizeInBytes
Especifica el tamaño en bytes de la estructura PPP_EAP_INPUT . El valor de este miembro se puede usar para distinguir entre las versiones actuales y futuras de esta estructura.
fFlags
Especifica cero o más de las marcas siguientes que califican el proceso de autenticación.
fAuthenticator
Especifica si el protocolo de autenticación funciona en el servidor o el cliente. Un valor true indica que el protocolo de autenticación funciona en el servidor como autenticador. Un valor false indica que el protocolo de autenticación funciona en el cliente como proceso que se va a autenticar.
pwszIdentity
Puntero a una cadena Unicode que identifica al usuario que solicita autenticación. Esta cadena tiene el formato domain\user o machine\user.
Si el protocolo de autenticación puede derivar la identidad del usuario de un origen adicional, por ejemplo, un certificado, debe comprobar que la identidad derivada coincide con el valor de pwszIdentity.
pwszPassword
Puntero a una cadena Unicode que contiene la contraseña de la cuenta del usuario. Solo está disponible si fAuthenticator es FALSE. Este miembro puede ser NULL.
bInitialId
Especifica el identificador del paquete EAP inicial enviado por el archivo DLL. Este valor se incrementa en uno para cada paquete de solicitud posterior.
pUserAttributes
Puntero a una matriz de estructuras de RAS_AUTH_ATTRIBUTE . La matriz finaliza mediante una estructura con un miembro raaType que tiene un valor de raatMinimum (vea RAS_AUTH_ATTRIBUTE_TYPE). Durante la llamada a RasEapBegin , esta matriz contiene atributos que describen el usuario marcado actualmente. Cuando el miembro fAuthenticationComplete es TRUE, esta matriz puede contener atributos devueltos por el proveedor de autenticación.
fAuthenticationComplete
Especifica un valor booleano que indica si el proveedor de autenticación ha autenticado al usuario. Un valor de TRUE indica la finalización de la autenticación. Compruebe el miembro dwAuthResultCode para determinar si la autenticación se realizó correctamente. Omita este miembro si el protocolo de autenticación no usa un proveedor de autenticación.
dwAuthResultCode
Especifica el resultado del proceso de autenticación del proveedor de autenticación. La autenticación correcta da como resultado NO_ERROR. Los códigos de error de autenticación para dwAuthResultCode solo deben provenir de Winerror.h, Raserror.h o Mprerror.h. Omita este campo si el protocolo de autenticación no usa un proveedor de autenticación.
hTokenImpersonateUser
Identificador de un token de suplantación para el usuario que solicita autenticación. Este miembro solo es válido en el lado cliente. Para obtener más información sobre los tokens de suplantación, consulte Tokens de acceso.
fSuccessPacketReceived
Especifica que la autenticación se realizó correctamente. RAS establece este miembro en TRUE si el cliente recibe un paquete del Protocolo de control de red (NCP), aunque el cliente aún no haya recibido un paquete de éxito de EAP. Un valor false indica que no se ha recibido ningún paquete NCP.
El paquete de operación correcta de EAP es un paquete no confirmado. Por lo tanto, el servidor puede perderlo y no resentirlo. En esta situación, la recepción de un paquete NCP indica que la autenticación se realizó correctamente, ya que el servidor ha pasado a la fase NCP de PPP.
Examine este miembro solo en el lado cliente.
fDataReceivedFromInteractiveUI
Especifica si la información está disponible en la interfaz de usuario interactiva. El valor predeterminado es FALSE. RAS establece este miembro en TRUE cada vez que el usuario sale de la interfaz de usuario interactiva del protocolo de autenticación.
pDataFromInteractiveUI
Puntero a los datos recibidos de la interfaz de usuario interactiva del protocolo de autenticación. Este puntero no es NULL si el miembro fDataReceivedFromInteractiveUI es TRUE y la interfaz de usuario interactiva devolvió datos, de hecho. De lo contrario, este puntero es NULL.
Si no es NULL, el protocolo de autenticación debe realizar una copia de los datos en su propio espacio de memoria. RAS libera la memoria ocupada por estos datos a partir de la llamada en la que se pasó la estructura de PPP_EAP_INPUT . Para liberar la memoria, RAS llama a la función RasEapFreeMemory .
dwSizeOfDataFromInteractiveUI
Especifica el tamaño, en bytes, de los datos a los que apunta pDataFromInteractiveUI. Si no se devuelve ningún dato de la interfaz de usuario interactiva, este miembro es cero.
pConnectionData
Puntero a los datos de conexión recibidos de la interfaz de usuario de configuración del protocolo de autenticación. Estos datos solo están disponibles cuando la estructura de PPP_EAP_INPUT se pasa en RasEapBegin. No está disponible en llamadas a RasEapMakeMessage.
El protocolo de autenticación debe realizar una copia de estos datos en su propio espacio de memoria. RAS libera la memoria ocupada por estos datos a partir de la llamada en la que se pasó la estructura de PPP_EAP_INPUT . Para liberar la memoria, RAS llama a la función RasEapFreeMemory .
Si la interfaz de usuario de configuración del protocolo de autenticación no devuelve ningún dato, este miembro es NULL.
dwSizeOfConnectionData
Especifica el tamaño en bytes de los datos a los que apunta pConnectionData. Si pConnectionData es NULL, este miembro es cero.
pUserData
Puntero a los datos de usuario recibidos de la función RasEapGetIdentity del protocolo de autenticación en el equipo cliente. Si el protocolo de autenticación no implementa RasEapGetIdentity, este miembro apunta a datos del Registro para este usuario.
Estos datos solo están disponibles cuando la estructura de PPP_EAP_INPUT se pasa en RasEapBegin. No está disponible en llamadas a RasEapMakeMessage.
El protocolo de autenticación debe realizar una copia de estos datos en su propio espacio de memoria. RAS libera la memoria ocupada por estos datos a partir de la llamada en la que se pasó la estructura de PPP_EAP_INPUT .
Si la función RasEapGetIdentity no se implementa o no devuelve ningún dato y no existe ningún dato para el usuario en el registro, este miembro es NULL.
dwSizeOfUserData
Especifica el tamaño, en bytes, de los datos a los que apunta pUserData. Si pUserData es NULL, este miembro es cero.
hReserved
Este miembro está reservado.
guidConnectionId
isVpn
Comentarios
RaseapBegin y RasEapMakeMessage pasan la estructura de PPP_EAP_INPUT al protocolo de autenticación en llamadas a RasEapBegin y RasEapMakeMessage.
La función RasEapBegin usa los miembros pwszIdentity y pwszPassword de la estructura PPP_EAP_INPUT para obtener información del usuario. El miembro pwszPassword solo es NULL si el miembro fAuthenticator es FALSE, es decir, el protocolo de autenticación se ejecuta en el equipo cliente.
Si el protocolo de autenticación usa un proveedor de autenticación, como la autenticación de dominio radius o Windows 2000, los miembros siguientes se usan para interactuar con el proveedor de autenticación:
pUserAttributesfAuthenticationCompletedwAuthResultCode Tenga en cuenta que la matriz de estructuras de RAS_AUTH_ATTRIBUTE solo se pasa si fAuthenticator es TRUE. Esta matriz contiene información de sesión actual, como el identificador de puerto y la dirección IP local.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Encabezado | raseapif.h |