struktur PPP_EAP_INPUT (raseapif.h)

Struktur PPP_EAP_INPUT digunakan dalam interaksi antara implementasi RAS Pengelola Sambungan Service PPP dan EAP.

Struktur ini menyediakan informasi pengguna, dan memfasilitasi penggunaan penyedia autentikasi, seperti server RADIUS.

Sintaks

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;

Anggota

dwSizeInBytes

Menentukan ukuran dalam byte struktur PPP_EAP_INPUT . Nilai anggota ini dapat digunakan untuk membedakan antara versi struktur ini saat ini dan yang akan datang.

fFlags

Menentukan nol atau lebih dari bendera berikut yang memenuhi syarat proses autentikasi.

Nilai Makna
RAS_EAP_FLAG_ROUTER
Menentukan apakah komputer yang melakukan panggilan masuk adalah perute atau klien RAS. Jika komputer adalah router, parameter ini harus diatur.
RAS_EAP_FLAG_NON_INTERACTIVE
Menentukan bahwa protokol autentikasi tidak boleh memunculkan antarmuka pengguna. Jika protokol autentikasi tidak dapat menentukan identitas dari data yang disediakan, protokol tersebut harus mengembalikan kode kesalahan ERROR_INTERACTIVE_MODE, yang didefinisikan dalam raserror.h.
RAS_EAP_FLAG_LOGON
Menentukan bahwa data pengguna dari diperoleh dari Winlogon.
RAS_EAP_FLAG_FIRST_LINK
Menunjukkan bahwa koneksi ini adalah tautan pertama dalam koneksi multilink. Lihat [Multilink dan Callback Connections](/windows/win32/eap/multilink-and-callback-connections) untuk informasi selengkapnya.
RAS_EAP_FLAG_GUEST_ACCESS
Ditentukan jika klien menginginkan akses tamu. Bendera ini biasanya digunakan dalam kasus koneksi nirkabel sehingga jika autentikasi gagal untuk N jumlah berturut-turut mencoba klien nirkabel, jika dikonfigurasi untuk meminta akses tamu, maka lakukan dengan meneruskan bendera ini. Server RADIUS harus disiapkan untuk mengizinkan akses tamu.
RAS_EAP_FLAG_8021X_AUTH
Menentukan bahwa sesi ini dijalankan dalam konteks nirkabel.
RAS_EAP_FLAG_RESUME_FROM_HIBERNATE
Menentukan bahwa ini adalah panggilan pertama setelah mesin dilanjutkan dari hibernasi.
RAS_EAP_FLAG_PEAP_UPFRONT
Menentukan bahwa PEAP diaktifkan di awal alur IAS.
RAS_EAP_FLAG_ALTERNATIVE_USER_DB
Menentukan bahwa database pengguna bukan Direktori Aktif.
RAS_EAP_FLAG_PRE_LOGON
Menentukan bahwa kredensial untuk pengguna atau akun komputer harus diperoleh dengan cara yang aman tanpa menaikkan beberapa instans UI.

fAuthenticator

Menentukan apakah protokol autentikasi beroperasi pada server atau klien. Nilai TRUE menunjukkan bahwa protokol autentikasi beroperasi di server sebagai pengautentikasi. Nilai FALSE menunjukkan bahwa protokol autentikasi beroperasi pada klien sebagai proses yang akan diautentikasi.

pwszIdentity

Penunjuk ke string Unicode yang mengidentifikasi pengguna yang meminta autentikasi. String ini adalah dari domain formulir\pengguna atau mesin\pengguna.

Jika protokol autentikasi dapat memperoleh identitas pengguna dari sumber tambahan, misalnya sertifikat, protokol tersebut harus memverifikasi bahwa identitas turunan cocok dengan nilai pwszIdentity.

pwszPassword

Penunjuk ke string Unicode yang berisi kata sandi akun pengguna. Hanya tersedia jika fAuthenticatorfalse. Anggota ini mungkin NULL.

bInitialId

Menentukan pengidentifikasi paket EAP awal yang dikirim oleh DLL. Nilai ini bertambah satu untuk setiap paket permintaan berikutnya.

pUserAttributes

Penunjuk ke array struktur RAS_AUTH_ATTRIBUTE . Array dihentikan oleh struktur dengan anggota raaType yang memiliki nilai raatMinimum (lihat RAS_AUTH_ATTRIBUTE_TYPE). Selama panggilan RasEapBegin , array ini berisi atribut yang menjelaskan pengguna yang saat ini dihubungi. Ketika anggota fAuthenticationCompleteTRUE, array ini mungkin berisi atribut yang dikembalikan oleh penyedia autentikasi.

fAuthenticationComplete

Menentukan nilai Boolean yang menunjukkan apakah penyedia autentikasi telah mengautentikasi pengguna. Nilai TRUE menunjukkan penyelesaian autentikasi. Periksa anggota dwAuthResultCode untuk menentukan apakah autentikasi berhasil. Abaikan anggota ini jika protokol autentikasi tidak menggunakan penyedia autentikasi.

dwAuthResultCode

Menentukan hasil proses autentikasi penyedia autentikasi. Autentikasi berhasil menghasilkan NO_ERROR. Kode kegagalan autentikasi untuk dwAuthResultCode harus berasal hanya dari Winerror.h, Raserror.h atau Mprerror.h. Abaikan bidang ini jika protokol autentikasi tidak menggunakan penyedia autentikasi.

hTokenImpersonateUser

Tangani token peniruan identitas untuk pengguna yang meminta autentikasi. Anggota ini hanya valid di sisi klien. Untuk informasi selengkapnya tentang token peniruan, lihat Token Akses.

fSuccessPacketReceived

Menentukan bahwa autentikasi berhasil. RAS menetapkan anggota ini ke TRUE jika klien menerima paket Protokol Kontrol Jaringan (NCP) meskipun klien belum menerima paket keberhasilan EAP. Nilai FALSE menunjukkan bahwa tidak ada paket NCP yang diterima.

Paket keberhasilan EAP adalah paket yang tidak diakui. Oleh karena itu, mungkin hilang dan tidak ditolak oleh server. Dalam situasi ini, penerimaan paket NCP menunjukkan bahwa autentikasi berhasil, karena server telah beralih ke fase NCP PPP.

Periksa anggota ini hanya di sisi klien.

fDataReceivedFromInteractiveUI

Menentukan apakah informasi tersedia dari antarmuka pengguna interaktif. Defaultnya adalah FALSE. RAS mengatur anggota ini ke TRUE setiap kali pengguna keluar dari antarmuka pengguna interaktif protokol autentikasi.

pDataFromInteractiveUI

Penunjuk ke data yang diterima dari antarmuka pengguna interaktif protokol autentikasi. Penunjuk ini non-NULL jika anggota fDataReceivedFromInteractiveUItrue dan antarmuka pengguna interaktif melakukannya, pada kenyataannya, mengembalikan data. Jika tidak, pointer ini ADALAH NULL.

Jika non-NULL, protokol autentikasi harus membuat salinan data di ruang memorinya sendiri. RAS membebaskan memori yang ditempati oleh data ini saat kembali dari panggilan di mana struktur PPP_EAP_INPUT diteruskan. Untuk membebaskan memori, RAS memanggil fungsi RasEapFreeMemory .

dwSizeOfDataFromInteractiveUI

Menentukan ukuran, dalam byte, dari data yang ditunjukkan oleh pDataFromInteractiveUI. Jika tidak ada data yang dikembalikan dari antarmuka pengguna interaktif, anggota ini adalah nol.

pConnectionData

Arahkan ke data koneksi yang diterima dari antarmuka pengguna konfigurasi protokol autentikasi. Data ini hanya tersedia ketika struktur PPP_EAP_INPUT diteruskan di RasEapBegin. Ini tidak tersedia dalam panggilan ke RasEapMakeMessage.

Protokol autentikasi harus membuat salinan data ini di ruang memorinya sendiri. RAS membebaskan memori yang ditempati oleh data ini saat kembali dari panggilan di mana struktur PPP_EAP_INPUT diteruskan. Untuk membebaskan memori, RAS memanggil fungsi RasEapFreeMemory .

Jika antarmuka pengguna konfigurasi protokol autentikasi tidak mengembalikan data apa pun, anggota ini adalah NULL.

dwSizeOfConnectionData

Menentukan ukuran dalam byte data yang diarahkan oleh pConnectionData. Jika pConnectionData adalah NULL, anggota ini adalah nol.

pUserData

Penunjuk ke data pengguna yang diterima dari fungsi RasEapGetIdentity protokol autentikasi di komputer klien. Jika protokol autentikasi tidak menerapkan RasEapGetIdentity, anggota ini menunjuk ke data dari registri untuk pengguna ini.

Data ini hanya tersedia ketika struktur PPP_EAP_INPUT diteruskan di RasEapBegin. Ini tidak tersedia dalam panggilan ke RasEapMakeMessage.

Protokol autentikasi harus membuat salinan data ini di ruang memorinya sendiri. RAS membebaskan memori yang ditempati oleh data ini saat kembali dari panggilan di mana struktur PPP_EAP_INPUT diteruskan.

Jika fungsi RasEapGetIdentity tidak diimplementasikan atau tidak mengembalikan data apa pun, dan tidak ada data untuk pengguna di registri, anggota ini adalah NULL.

dwSizeOfUserData

Menentukan ukuran, dalam byte, dari data yang diacu oleh pUserData. Jika pUserData adalah NULL, anggota ini adalah nol.

hReserved

Anggota ini dicadangkan.

guidConnectionId

isVpn

Keterangan

Struktur PPP_EAP_INPUT diteruskan oleh RAS ke protokol autentikasi dalam panggilan ke RasEapBegin dan RasEapMakeMessage.

Anggota pwszIdentity dan pwszPassword dari struktur PPP_EAP_INPUT digunakan oleh fungsi RasEapBegin untuk mendapatkan informasi pengguna. Anggota pwszPassword bukan NULL hanya jika anggota fAuthenticatorFALSE, yaitu, protokol autentikasi berjalan di komputer klien.

Jika protokol autentikasi menggunakan penyedia autentikasi, seperti autentikasi domain Radius atau Windows 2000, anggota berikut digunakan untuk berinteraksi dengan penyedia autentikasi:

pUserAttributesfAuthenticationCompletedwAuthResultCode Note bahwa array struktur RAS_AUTH_ATTRIBUTE diteruskan hanya jika fAuthenticatorTRUE. Array ini berisi informasi sesi saat ini seperti pengidentifikasi port dan alamat IP lokal.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Header raseapif.h

Lihat juga

Struktur EAP

Referensi Protokol Autentikasi yang Dapat Diperluas

RAS_AUTH_ATTRIBUTE

RasEapBegin

RasEapFreeMemory

RasEapGetIdentity

RasEapMakeMessage