Bagikan melalui


Autentikasi Internet

Kelas System.Net mendukung berbagai mekanisme autentikasi klien, termasuk metode autentikasi Internet standar dasar, intisari, negosiasi, NTLM, dan autentikasi Kerberos, serta metode kustom yang dapat Anda buat.

Kredensial autentikasi disimpan di kelas NetworkCredential dan CredentialCache, yang mengimplementasikan antarmuka ICredentials. Saat salah satu kelas ini ditanya kredensialnya, kelas tersebut mengembalikan instans kelas NetworkCredential . Proses autentikasi dikelola oleh kelas AuthenticationManager, dan proses autentikasi yang sebenarnya dilakukan oleh kelas modul autentikasi yang mengimplementasikan antarmuka IAuthenticationModule. Anda harus mendaftarkan modul autentikasi khusus dengan AuthenticationManager sebelum dapat digunakan; modul untuk metode autentikasi dasar, intisari, negosiasi, NTLM, dan Kerberos terdaftar secara default.

NetworkCredential menyimpan sekumpulan kredensial yang terkait dengan satu sumber daya Internet yang diidentifikasi oleh URI dan mengembalikannya sebagai respons terhadap panggilan ke metode GetCredential. Kelas NetworkCredential biasanya digunakan oleh aplikasi yang mengakses sumber daya Internet dalam jumlah terbatas atau oleh aplikasi yang menggunakan kumpulan kredensial yang sama dalam semua kasus.

Kelas CredentialCache menyimpan kumpulan kredensial untuk berbagai sumber daya Web. Saat metode GetCredential dipanggil, CredentialCache mengembalikan kumpulan kredensial yang tepat, sebagaimana ditentukan oleh URI sumber daya Web dan skema autentikasi yang diminta. Aplikasi yang menggunakan berbagai sumber daya Internet dengan skema autentikasi yang berbeda mendapat manfaat dari penggunaan kelas CredentialCache, karena menyimpan semua kredensial dan menyediakannya sesuai permintaan.

Saat sumber daya Internet meminta autentikasi, metode WebRequest.GetResponse mengirimkan WebRequest ke AuthenticationManager bersama dengan permintaan kredensial. Permintaan tersebut kemudian diautentikasi sesuai dengan proses berikut:

  1. AuthenticationManager memanggil metode Authenticate pada setiap modul autentikasi terdaftar sesuai urutan pendaftarannya. AuthenticationManager menggunakan modul pertama yang tidak mengembalikan null untuk melakukan proses autentikasi. Rincian proses bervariasi tergantung pada jenis modul autentikasi yang terlibat.

  2. Saat proses autentikasi selesai, modul autentikasi mengembalikan Authorization ke WebRequest yang berisi informasi yang diperlukan untuk mengakses sumber daya Internet.

Beberapa skema autentikasi dapat mengautentikasi pengguna tanpa terlebih dahulu mengajukan permintaan sumber daya. Aplikasi dapat menghemat waktu dengan melakukan praautentikasi pengguna dengan sumber daya, sehingga menghilangkan setidaknya satu perjalanan pulang pergi ke server. Atau bisa juga melakukan autentikasi pada saat startup program agar lebih responsif terhadap pengguna nantinya. Skema autentikasi yang dapat menggunakan praautentikasi mengatur properti PreAuthenticate ke true.

Lihat juga