ASP.NET 証明書利用者アプリケーションを構築する方法

このシナリオでは、WIF Visual Studio テンプレートと FedUtil を使用して、IClaimsPrincipal によって現在のユーザーの要求にアクセスできる ASP.NET Web サイトを作成します。 そのためには、FedUtil で ClaimsPrincipalHttpModule をプロジェクトに追加します。 このモジュールで、現在のユーザーの IPrincipal オブジェクトを IClaimsPrincipal オブジェクトに変換できます。

注意

FedUtil が正常に機能するには、Visual Studio を管理者特権モードで実行する必要があります。

Visual Studio で、要求に対応する ASP.NET Web サイトを作成します。詳細については、「要求に対応する ASP.NET Web サイト」を参照してください。

次に、ソリューション エクスプローラーでプロジェクトを右クリックし、[STS 参照の追加] を選択します。

79a0b161-f082-4c34-96e7-7da5d3126776

この操作により、FedUtil ツールが実行されます。 FedUtil のダイアログ ボックスが開き、[フェデレーション ユーティリティ ウィザードの開始] ページが表示されます。

55362f83-729f-4ecb-84a6-7d7f18ce736a

このページでは、2 つのフィールドへの入力が必要です。

  1. [アプリケーション構成の場所]: ASP.NET Web サイトの web.config ファイルへのパスを指定します。 Visual Studio の外部から FedUtil を実行した場合、このフィールドは空の状態で表示されます。 Visual Studio の内部から FedUtil を実行した場合、このフィールドにはそのプロジェクトの web.config ファイルへのパスが既に入力されています。 web.config ファイルが既に存在していて、既定の状態 (つまり、Visual Studio で生成されたままの状態) であることが必要です。 同一の web.config ファイルに対して FedUtil を複数回実行しても、web.config ファイルに追加する内容が上書きされるだけです。

  2. [アプリケーション URI]: ASP.NET Web サイトの URI を指定します。 Visual Studio の外部から FedUtil を実行した場合、このフィールドは空の状態で表示されます。 Visual Studio の内部から FedUtil を実行した場合、このフィールドにはそのプロジェクトに対応する 2 つの URI が既に入力されています。その一方は localhost を使用し、もう一方はコンピューターの完全修飾ドメイン名を使用します (使用できる場合)。 URI がセキュリティで保護されていない場合 (つまり "https://" で始まる URI でない場合)、[次へ] をクリックすると警告が表示されます。

情報を入力したら、[次へ] をクリックします。 [Security Token Service] ページが開きます。

92008115-e10f-474a-b0ae-3090f860897f

[STS なし] をオンにして、[次へ] をクリックします。 [概要] ページが表示されます。

b625c9c6-004d-43d8-a278-b1e8ea252ef7

[完了] をクリックします。

default.aspx.cs ファイルを開いて、Page_Load メソッドの最初の 2 行に注目してください。

IClaimsPrincipal claimsPrincipal = Page.User as IClaimsPrincipal; IClaimsIdentity claimsIdentity = ( IClaimsIdentity )claimsPrincipal.Identity;

コードの他の部分では、現在のユーザーに対する要求とその値のみが記載されています。