Bagikan melalui


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"