ユーザーが名前付きロールに対して承認されているかどうかを示す値を返します。
構文
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を返します。実装者が
IHttpUserBasic、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 |