Kunci Registri Autentikasi
Saat menginstal penyedia jaringan, aplikasi Anda harus membuat kunci dan nilai registri yang dijelaskan dalam topik ini. Kunci dan nilai ini memberikan informasi kepada MPR tentang penyedia jaringan yang diinstal pada sistem. MPR memeriksa kunci ini saat dimulai dan memuat DLL penyedia jaringan yang ditemukannya.
Sebelum membuat sekumpulan kunci untuk menyimpan informasi tentang penyedia jaringan, Anda harus menambahkan nama penyedia jaringan Anda ke urutan kunci. Kunci ini adalah subkunjuk dari kunci berikut:
HKEY_LOCAL_MACHINE
SYSTEM
CurrentControlSet
Control
NetworkProvider
Kunci urutan berisi nilai tunggal, ProviderOrder, yang mencantumkan penyedia yang diinstal dan menentukan urutan di mana mereka harus dicoba selama operasi yang menelusuri penyedia hingga penyedia yang menerima ditemukan.
Nilai ProviderOrder berisi daftar nama kunci yang dipisahkan koma. Setiap nama kunci di ProviderOrder mengidentifikasi penyedia jaringan. Ketika MPR menelusuri penyedia, MPR memanggil mereka dalam urutan muncul dalam daftar ini.
Nama penyedia yang diatur dalam ProviderOrder juga harus digunakan sebagai nama kunci registri yang berisi informasi tentang penyedia tersebut. Kunci registri khusus penyedia dibuat sebagai subkunci dari kunci berikut:
HKEY_LOCAL_MACHINE
SYSTEM
CurrentControlSet
Services
Dengan kata lain, nama penyedia yang ditentukan dalam ProviderOrder adalah jalur ke registri kunci khusus penyedia jaringan, relatif terhadap jalur berikut:
HKEY_LOCAL_MACHINE
SYSTEM
CurrentControlSet
Services
Saat layanan penyedia jaringan Anda diinstal, aplikasi penginstalan harus menambahkan kunci sebagai berikut:
HKEY_LOCAL_MACHINE
SYSTEM
CurrentControlSet
Services
ProviderName
Di mana ProviderName adalah nama penyedia jaringan seperti yang ditentukan dalam nilai ProviderOrder kunci urutan. Nilai Grup di bawah kunci ProviderName harus diatur ke "NetworkProvider". Ini mengidentifikasi layanan sebagai berada dalam grup penyedia jaringan.
Anda juga harus membuat subkunci ProviderName, networkprovider. Kunci ini berisi nilai berikut yang menjelaskan penyedia jaringan.
Nilai | Deskripsi |
---|---|
Nama |
Berisi nama penyedia. Nama ini ditampilkan kepada pengguna sebagai nama jaringan dalam kotak dialog telusuri dan harus cocok dengan bidang lpProvider yang dikembalikan dalam strukturNETRESOURCE. Nama ini harus beberapa variasi nama produk, sebaiknya dengan beberapa indikasi perusahaan juga, sehingga jelas dan unik. "MS-LanMan" misalnya adalah nama yang baik, sedangkan "The Net" akan menjadi pilihan yang buruk. |
ProviderPath |
Berisi jalur lengkap DLL yang mengimplementasikan penyedia jaringan. MPR memanggil LoadLibrary di jalur ini. |
Nilai berikut hanya digunakan oleh penyedia jaringan yang mendukung fungsi manajemen kredensial, NPLogonNotify dan NPPasswordChangeNotify.
Nilai | Deskripsi |
---|---|
Kelas |
DWORD yang mengidentifikasi kelas, atau jenis, fungsionalitas penyedia yang didukung penyedia ini. Nilai dapat digabungkan oleh operator OR jika sesuai. Nilai yang valid untuk ini adalah WN_NETWORK_CLASS, WN_CREDENTIAL_CLASS, WN_PRIMARY_AUTHENT_CLASS, dan WN_SERVICE_CLASS. Meskipun penyedia dapat mendukung fungsionalitas pengautentikasi utama, cara lain akan digunakan untuk menentukan pengautentikasi mana yang utama. Windows XP/2000: Beralih pengautentikasi utama tidak didukung, sehingga nilai ini diabaikan. |
AuthentProviderPath |
Ini adalah nama file yang sepenuhnya memenuhi syarat untuk DLL yang mengekspor Fungsi Manajemen Kredensial. Nilai ini berguna (tetapi tidak diperlukan) hanya ketika penyedia diidentifikasi sebagai penyedia CREDENTIAL_CLASS atau PRIMARY_AUTHENT_CLASS. Jika nilai ini tidak ada untuk penyedia kelas ini, fungsi manajemen kredensial diharapkan diekspor dari DLL yang diidentifikasi oleh nilai ProviderPath. Nilai ini hanya digunakan jika diinginkan untuk mengemas fungsi jaringan dan fungsi manajer kredensial di DLL terpisah. |
Selain nilai yang digunakan untuk mendaftarkan penyedia jaringan dan manajer kredensial, Anda dapat menambahkan nilai ke registri untuk mendaftarkan DLL untuk menerima pemberitahuan koneksi. Untuk melakukannya, buat nilai REG_EXPAND_SZ di bawah kunci berikut:
HKEY_LOCAL_MACHINE
SYSTEM
CurrentControlSet
Control
NetworkProvider
Notifyees
Nilai ini harus menentukan jalur ke DLL yang mengimplementasikan Connection Notification API. Nama nilai ini bisa menjadi apa pun yang Anda inginkan, selama tidak bertentangan dengan nama nilai yang sudah ada sebelumnya.
Contoh
Contoh berikut menunjukkan kunci registri untuk sistem yang memiliki dua penyedia jaringan yang diinstal: LanmanWorkStation dan AnotherNetSvc. AnotherNetSvc juga merupakan manajer kredensial. Dalam contoh, nama kunci adalah tebal dan nama nilai miring.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\order
ProviderOrder = "LanmanWorkStation,AnotherNetSvc"
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\Notifyees
MyNotifyApp = "c:\connect\connect.dll"
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkStation\
Group = "NetworkProvider"
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkStation\NetworkProvider
Name = "NT LanMan"ProviderPath = "ntlanman.dll"
Kelas = 0x00000001 (WN_NETWORK_CLASS)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AnotherNetSvc\
Group = "NetworkProvider"
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AnotherNetSvc\NetworkProvider
Name = "Another Network"ProviderPath = "c:\another\anet.dll"
Class = 0x00000003 (WN_NETWORK_CLASS | WN_CREDENTIAL_CLASS)
AuthentProviderPath = "c:\another\anetCM.dll"