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.

Catatan Untuk kumpulan nama target yang diizinkan untuk SSP, silakan lihat komentar dalam dokumentasi InitializeSecurityContext .
 

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.

Catatan Saat memilih layanan autentikasi RPC_C_AUTHN_GSS_SCHANNEL, parameter AuthIdentity mungkin juga menjadi penunjuk ke struktur SCH_CRED . Namun, di Windows XP dan rilis Windows yang lebih baru, satu-satunya struktur yang dapat diterima untuk diteruskan sebagai parameter AuthIdentity untuk layanan autentikasi RPC_C_AUTHN_GSS_SCHANNEL adalah struktur SCHANNEL_CRED .
 

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.

Catatan Untuk informasi selengkapnya, lihat Konstanta Layanan Autentikasi.
 

Menampilkan nilai

Nilai Makna
RPC_S_OK
Panggilan berhasil.
RPC_S_INVALID_BINDING
Handel pengikatan tidak valid.
RPC_S_WRONG_KIND_OF_BINDING
Ini adalah jenis pengikatan yang salah untuk operasi.
RPC_S_UNKNOWN_AUTHN_SERVICE
Layanan autentikasi tidak diketahui.
 
Catatan Untuk daftar kode kesalahan yang valid, lihat Nilai Pengembalian RPC.
 

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.

Catatan Fungsi RpcBindingSetAuthInfo tidak boleh dipanggil pada handel pengikatan saat panggilan RPC pada handel yang sama sedang berlangsung. Melakukannya menghasilkan hasil yang tidak terdefinisi.
 

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

Lihat juga

Layanan Keamanan MSMQ

RpcBindingInqAuthInfo

RpcBindingSetOption

RpcServerRegisterAuthInfo