Fungsi RpcBindingSetAuthInfo (rpcdce.h)
Fungsi RpcBindingSetAuthInfo menetapkan informasi autentikasi dan otorisasi handel pengikatan.
Sintaks
RPC_STATUS RpcBindingSetAuthInfo(
RPC_BINDING_HANDLE Binding,
RPC_CSTR ServerPrincName,
unsigned long AuthnLevel,
unsigned long AuthnSvc,
RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
unsigned long AuthzSvc
);
Parameter
Binding
Handel pengikatan server tempat informasi autentikasi dan otorisasi akan diterapkan.
ServerPrincName
Arahkan ke nama utama server yang diharapkan yang dirujuk oleh Pengikatan. Konten nama dan sintaksnya ditentukan oleh layanan autentikasi yang digunakan.
AuthnLevel
Tingkat autentikasi yang akan dilakukan pada panggilan prosedur jarak jauh yang dilakukan menggunakan Pengikatan. Untuk daftar tingkat autentikasi yang didukung RPC, lihat daftar Konstanta Tingkat Autentikasi.
AuthnSvc
Layanan autentikasi untuk digunakan. Lihat Catatan.
Tentukan RPC_C_AUTHN_NONE untuk menonaktifkan autentikasi untuk panggilan prosedur jarak jauh yang dilakukan menggunakan Pengikatan.
Jika RPC_C_AUTHN_DEFAULT ditentukan, pustaka run-time RPC menggunakan layanan autentikasi RPC_C_AUTHN_WINNT untuk panggilan prosedur jarak jauh yang dilakukan menggunakan Pengikatan.
AuthIdentity
Tangani ke struktur yang berisi kredensial autentikasi dan otorisasi klien yang sesuai untuk layanan autentikasi dan otorisasi yang dipilih. Saat menggunakan layanan autentikasi RPC_C_AUTHN_WINNT AuthIdentity harus menjadi penunjuk ke struktur SEC_WINNT_AUTH_IDENTITY (didefinisikan dalam Rpcdce.h). Layanan autentikasi Kerberos dan Negosiasi juga menggunakan struktur SEC_WINNT_AUTH_IDENTITY .
Saat Anda memilih layanan autentikasi RPC_C_AUTHN_GSS_SCHANNEL, parameter AuthIdentity harus menjadi penunjuk ke struktur SCHANNEL_CRED (didefinisikan dalam Schannel.h). Tentukan nilai null untuk menggunakan konteks masuk keamanan untuk ruang alamat saat ini. Teruskan nilai RPC_C_NO_CREDENTIALS untuk menggunakan konteks masuk anonim.
AuthzSvc
Layanan otorisasi yang diterapkan oleh server untuk antarmuka yang diminati. Lihat Catatan.
Validitas dan kepercayaan data otorisasi, seperti data aplikasi apa pun, tergantung pada layanan autentikasi dan tingkat autentikasi yang dipilih. Parameter ini diabaikan saat menggunakan layanan autentikasi RPC_C_AUTHN_WINNT.
Menampilkan nilai
Nilai | Makna |
---|---|
|
Panggilan berhasil. |
|
Handel pengikatan tidak valid. |
|
Ini adalah jenis pengikatan yang salah untuk operasi. |
|
Layanan autentikasi tidak diketahui. |
Keterangan
Aplikasi klien memanggil fungsi RpcBindingSetAuthInfo untuk menyiapkan handel pengikatan server untuk melakukan panggilan prosedur jarak jauh yang diautentikasi. Klien tidak diperlukan untuk memanggil fungsi ini.
Kecuali klien memanggil RpcBindingSetAuthInfo, tidak ada panggilan prosedur jarak jauh pada handel pengikatan Pengikatan yang diautentikasi. Server dapat memanggil RpcBindingInqAuthClient dari dalam panggilan prosedur jarak jauh untuk menentukan apakah panggilan tersebut telah diautentikasi.
Fungsi RpcBindingSetAuthInfo mengambil rekam jepret info masuk. Oleh karena itu, memori yang didedikasikan untuk parameter AuthIdentity dapat dibebaskan sebelum handel pengikatan.
Karena berbagai persyaratan versi Microsoft RPC yang berbeda, Microsoft menyarankan agar aplikasi Anda mempertahankan penunjuk ke parameter AuthIdentity selama handel pengikatan ada. Melakukannya meningkatkan portabilitas aplikasi.
Windows Server 2003 dengan SP1 dan Windows XP dengan SP2: Untuk Windows XP SP2 dan Windows Server 2003 SP1, penunjuk ke parameter AuthIdentity tidak perlu dipertahankan selama masa pakai handel pengikatan. Pointer ini hanya boleh dipertahankan jika panggilan berikutnya ke RpcBindingInqAuthInfo atau RpcBindingInqAuthInfoEx dilakukan.
Persyaratan
Klien minimum yang didukung | Windows 2000 Professional [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows 2000 Server [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | rpcdce.h (termasuk Rpc.h) |
Pustaka | Rpcrt4.lib |
DLL | Rpcrt4.dll |