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 参照の追加] を選択します。
この操作により、FedUtil ツールが実行されます。 FedUtil のダイアログ ボックスが開き、[フェデレーション ユーティリティ ウィザードの開始] ページが表示されます。
このページでは、2 つのフィールドへの入力が必要です。
[アプリケーション構成の場所]: ASP.NET Web サイトの web.config ファイルへのパスを指定します。 Visual Studio の外部から FedUtil を実行した場合、このフィールドは空の状態で表示されます。 Visual Studio の内部から FedUtil を実行した場合、このフィールドにはそのプロジェクトの web.config ファイルへのパスが既に入力されています。 web.config ファイルが既に存在していて、既定の状態 (つまり、Visual Studio で生成されたままの状態) であることが必要です。 同一の web.config ファイルに対して FedUtil を複数回実行しても、web.config ファイルに追加する内容が上書きされるだけです。
[アプリケーション URI]: ASP.NET Web サイトの URI を指定します。 Visual Studio の外部から FedUtil を実行した場合、このフィールドは空の状態で表示されます。 Visual Studio の内部から FedUtil を実行した場合、このフィールドにはそのプロジェクトに対応する 2 つの URI が既に入力されています。その一方は localhost を使用し、もう一方はコンピューターの完全修飾ドメイン名を使用します (使用できる場合)。 URI がセキュリティで保護されていない場合 (つまり "https://" で始まる URI でない場合)、[次へ] をクリックすると警告が表示されます。
情報を入力したら、[次へ] をクリックします。 [Security Token Service] ページが開きます。
[STS なし] をオンにして、[次へ] をクリックします。 [概要] ページが表示されます。
[完了] をクリックします。
default.aspx.cs ファイルを開いて、Page_Load メソッドの最初の 2 行に注目してください。
IClaimsPrincipal claimsPrincipal = Page.User as IClaimsPrincipal; IClaimsIdentity claimsIdentity = ( IClaimsIdentity )claimsPrincipal.Identity;
コードの他の部分では、現在のユーザーに対する要求とその値のみが記載されています。