Bagikan melalui


Metode IHttpUser::IsInRole

Mengembalikan nilai yang menunjukkan apakah pengguna diotorisasi untuk peran bernama.

Sintaks

virtual HRESULT IsInRole(  
   IN PCWSTR pszRoleName,  
   OUT BOOL* pfInRole  
) = 0;  

Parameter

pszRoleName
[IN] Penunjuk ke string Unicode yang dihentikan null konstanta yang berisi nama peran.

pfInRole
[OUT] Penunjuk ke yang BOOL menunjukkan apakah pengguna berwenang untuk peran yang ditentukan oleh pszRoleName.

Tampilkan Nilai

Sebuah HRESULT. Nilai yang mungkin termasuk, tetapi tidak terbatas pada, yang ada dalam tabel berikut.

Nilai Definisi
S_OK Menunjukkan bahwa operasi berhasil.
E_NOTIMPL Menunjukkan bahwa IsInRole metode tidak diimplementasikan.

Keterangan

IsInRole Panggil metode hanya jika metode SupportsIsInRole pertama-tama true kembali pada penunjuk IHttpUser yang sama.

Nilai IsInRole yang dikembalikan tergantung pada implementasi. Anda harus menggunakan informasi berikut sebagai pedoman, tetapi mungkin tidak benar dalam semua skenario:

  • IHttpUser Jika pelaksana menangani autentikasi Anonim, parameter dereferensi pfInRole diatur ke true hanya jika pszRoleName parameter adalah NULL atau kosong. IsInRole lalu selalu mengembalikan S_OK.

  • IHttpUser Jika pelaksana menangani Pemetaan Dasar, Sertifikasi, SSPI, atau Autentikasi kustom, pfInRole parameter tidak dimodifikasi, dan IsInRole segera mengembalikan E_NOTIMPL.

  • IHttpUser Jika pelaksana menangani autentikasi Terkelola, pfInRole parameter tidak dimodifikasi, dan IsInRole segera mengembalikan E_INVALIDARG jika salah satu parameter adalah NULL. Jika tidak, pfInRole diatur ke true, dan IsInRole mengembalikan S_OK hanya jika pengguna berada dalam peran.

Contoh

Contoh kode berikut menunjukkan cara membuat modul HTTP yang menghapus header dan isi respons lalu mengembalikan informasi pengguna ke klien sebagai dokumen XML.

Kode di atas menulis XML yang mirip dengan yang berikut ini dengan aliran respons.

<?xml version="1.0" ?>  
<user supportsRoles="true" isInRole="false" />  

Modul Anda harus mengekspor fungsi RegisterModule . Anda dapat mengekspor fungsi ini dengan membuat file definisi modul (.def) untuk proyek Anda, atau Anda dapat mengkompilasi modul dengan menggunakan sakelar /EXPORT:RegisterModule . Untuk informasi selengkapnya, lihat Panduan: Membuat Modul HTTP Request-Level Dengan Menggunakan Kode Asli.

Anda dapat secara opsional mengkompilasi kode dengan menggunakan __stdcall (/Gz) konvensi panggilan alih-alih secara eksplisit mendeklarasikan konvensi panggilan untuk setiap fungsi.

Persyaratan

Jenis Deskripsi
Klien - IIS 7.0 di Windows Vista
- IIS 7.5 di Windows 7
- IIS 8.0 di Windows 8
- IIS 10.0 pada Windows 10
Server - IIS 7.0 di Windows Server 2008
- IIS 7.5 di Windows Server 2008 R2
- IIS 8.0 di Windows Server 2012
- IIS 8.5 di Windows Server 2012 R2
- IIS 10.0 di Windows Server 2016
Produk - IIS 7.0, IIS 7.5, IIS 8.0, IIS 8.5, IIS 10.0
- IIS Express 7.5, IIS Express 8.0, IIS Express 10.0
Header Httpserv.h

Lihat juga

Antarmuka IHttpUser