IHttpUser::IsInRole メソッド
ユーザーが名前付きロールに対して承認されているかどうかを示す値を返します。
構文
virtual HRESULT IsInRole(
IN PCWSTR pszRoleName,
OUT BOOL* pfInRole
) = 0;
パラメーター
pszRoleName
[IN]ロールの名前を含む、null で終わる定数 Unicode 文字列へのポインター。
pfInRole
[OUT]によって指定されたpszRoleName
ロールに対してユーザーが承認されているかどうかを示す へのポインターBOOL
。
戻り値
HRESULT
。 有効な値を次の表に示しますが、これ以外にもあります。
値 | 定義 |
---|---|
S_OK | 操作が成功したことを示します。 |
E_NOTIMPL | メソッドが実装されていないことを IsInRole 示します。 |
解説
SupportsIsInRole メソッドがIsInRole
同じ IHttpUser ポインターで最初に を返すtrue
場合にのみ、 メソッドを呼び出します。
戻り値は IsInRole
実装によって異なります。 ガイドラインとして次の情報を使用する必要がありますが、すべてのシナリオで正しくない場合があります。
実装者が匿名認証を
IHttpUser
処理する場合、逆参照されたパラメーターは、パラメーターが NULL または空の場合pszRoleName
にのみ にtrue
設定されますpfInRole
。IsInRole
常にS_OKを返します。実装者が
IHttpUser
Basic、Certification Mapping、SSPI、または Custom 認証を処理するpfInRole
場合、パラメーターは変更されておらず、IsInRole
すぐにE_NOTIMPLを返します。実装者がマネージド認証を
IHttpUser
処理するpfInRole
場合、パラメーターは変更されておらず、IsInRole
いずれかのパラメーターが NULL の場合は直ちにE_INVALIDARGを返します。 それ以外の場合pfInRole
、 は にtrue
設定され、IsInRole
ユーザーがロール内にある場合にのみS_OKを返します。
例
次のコード例では、応答ヘッダーと本文をクリアし、ユーザー情報を XML ドキュメントとしてクライアントに返す HTTP モジュールを作成する方法を示します。
上記のコードは、次のような XML を応答ストリームに書き込みます。
<?xml version="1.0" ?>
<user supportsRoles="true" isInRole="false" />
モジュールは RegisterModule 関数をエクスポートする必要があります。 この関数をエクスポートするには、プロジェクトのモジュール定義 (.def) ファイルを作成するか、スイッチを使用してモジュールを /EXPORT:RegisterModule
コンパイルします。 詳細については、「 チュートリアル: ネイティブ コードを使用したRequest-Level HTTP モジュールの作成」を参照してください。
必要に応じて、各関数の呼び出し規約を __stdcall (/Gz)
明示的に宣言するのではなく、呼び出し規約を使用してコードをコンパイルできます。
要件
Type | 説明 |
---|---|
Client | - Windows Vista 上の IIS 7.0 - Windows 7 上の IIS 7.5 - Windows 8 の IIS 8.0 - Windows 10の IIS 10.0 |
サーバー | - Windows Server 2008 の IIS 7.0 - Windows Server 2008 R2 上の IIS 7.5 - Windows Server 2012 上の IIS 8.0 - Windows Server 2012 R2 上の IIS 8.5 - Windows Server 2016上の IIS 10.0 |
製品 | - 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 |