ID 정보 가져오기

인증 프로토콜을 구현하는 공급업체는 인증을 요청하는 사용자에 대한 초기 식별 정보를 가져오는 함수 인터페이스를 제공할 수도 있습니다.

공급업체는 다음 함수를 구현해야 합니다.

이러한 함수는 인증 프로토콜과 동일한 DLL 또는 별도의 DLL에서 구현될 수 있습니다. 또한 ID 함수를 구현하는 DLL은 둘 이상의 인증 프로토콜을 지원할 수 있습니다. 이러한 함수에 대한 DLL 경로는 인증 프로토콜의 키 아래에 RAS_EAP_VALUENAME_IDENTITY 레지스트리 값에 저장됩니다. 이 레지스트리 값을 만드는 방법에 대한 자세한 내용은 EAP 설치를 참조하세요.

RasEapGetIdentity 함수는 일반적으로 사용자에 대한 ID 정보를 가져오는 UI(사용자 인터페이스)를 표시합니다. 그러나 dwFlags 매개 변수에 RAS_EAP_FLAG_NON_INTERACTIVE 플래그가 포함된 경우 RasEapGetIdentity는 UI를 표시하지 않아야 합니다.

RasEapGetIdentity가 UI를 표시하는 경우 UI는 LOWORD(wParam)의 값이 IDCANCEL과 같은 WM_COMMAND 메시지를 지원해야 합니다.

이 EAP에 대한 레지스트리에 있는 RAS_EAP_VALUENAME_INVOKE_NAMEDLG 값이 0으로 설정된 경우 인증 서비스는 RasEapGetIdentity를 호출합니다. RAS_EAP_VALUENAME_INVOKE_NAMEDLG 없거나 존재하며 1로 설정된 경우 인증 서비스에 표준 시스템 사용자 이름 대화 상자가 표시됩니다.

EAP 공급업체는 RAS_EAP_VALUENAME_INVOKE_NAMEDLG 외에도 레지스트리에 RAS_EAP_VALUENAME_INVOKE_PWDDLG 관련 값을 만들 수 있습니다. 이 값이 있고 0으로 설정된 경우 서비스에 표준 시스템 암호 대화 상자가 표시되지 않습니다. 이 값은 지문 검사와 같은 바이오 메트릭 메서드를 구현하여 사용자를 인증할 때 유용합니다. RAS_EAP_VALUENAME_INVOKE_NAMEDLG 값과 RAS_EAP_VALUENAME_INVOKE_PWDDLG 값이 모두 0이면 ID UI를 사용하여 ID와 바이오 메트릭 정보를 모두 가져올 수 있습니다. 그러나 RAS_EAP_VALUENAME_INVOKE_PWDDLG 0인 경우 인증 서비스는 RasEapGetIdentity를 호출하지 않습니다. 이 경우 대화형 사용자 인터페이스사용하여 바이오 메트릭 정보를 가져올 수 있습니다.

이러한 레지스트리 값에 대한 자세한 내용은 인증 프로토콜 레지스트리 값을 참조 하세요.

RasEapGetIdentity에서 얻은 정보는 RasEapBegin을 호출하는 동안 인증 프로토콜에 전달됩니다. 정보는 PPP_EAP_INPUT 구조체의 pszIdentitypUserData 멤버에 의해 지정됩니다. 이 정보를 클라이언트 컴퓨터의 레지스트리에 저장하려면 인증 프로토콜이 RasEapMakeMessage의 pEapOutput 매개 변수에 정보를 반환해야 합니다.

RasEapBegin을 호출한 후 인증 서비스는 RasEapFreeMemory를 호출하여 이 데이터가 차지하는 메모리를 해제합니다. 따라서 인증 프로토콜은 RasEapBegin을 호출하는 동안 개인 메모리 버퍼에 정보를 복사해야 합니다.