サンプル アプリケーションの保護

認証情報セレクタを使用するには、 アプリケーションの保護されたレルムの設定でコンポーネントのフロントエンド認証方式を指定します。アプリケーションを保護するポリシーには、ユーザの認証レベルおよび認証コンテキストに基づく制限がある場合があります。
casso127jpjp
認証情報セレクタを使用するには、
Single Sign-On
アプリケーションの保護されたレルムの設定でコンポーネントのフロントエンド認証方式を指定します。アプリケーションを保護するポリシーには、ユーザの認証レベルおよび認証コンテキストに基づく制限がある場合があります。
このソリューションでは、サンプル アプリケーションは認証および許可されたユーザ向けのあいさつメッセージを生成します。
このメッセージを生成するファイルには以下のコードが含まれます。
<html> <head></head> <body> <h3> <p>Greetings, <%=Request.ServerVariables("HTTP_USERNAME") %>! <p>Your authentication level is <%=Request.ServerVariables("HTTP_AUTHLEVEL") %> <p>You have used <%=Request.ServerVariables("HTTP_AUTHCONTEXT") %> authentication </h3> </body> </html>
ログイン ダイアログ ボックスでの認証オプションによって、以下の各アクセス レベルおよびメッセージが使用されます。
Greetings, SampleUser! Your authentication level is 5 You have used username/password authentication Greetings, SampleUser! Your authentication level is 10. You have used X.509 client certificate authentication Greetings, SampleUser! Your authentication level is 5 You have used Windows domain authentication
サンプル アプリケーションには、異なるレルムに含まれる 4 種類のリソースがあります。それぞれのレルムにフロントエンド認証方式を設定する必要があります。
サンプル アプリケーションのレルムとルール
このサンプルでは、サンプル アプリケーションを構成するさまざまなリソースを以下の 4 つのレルムで保護しています。
  • パブリック リソースを含むレルム
  • 少なくともレベル 5 の認証を必要とするリソースを含むレルム
  • 少なくともレベル 15 の認証を必要とするリソースを含むレルム
  • SafeWord で認証されたユーザにのみ利用可能なリソースを含むレルム
レルムは以下のようになります。
Illustration showing the realms for the sample application
以下に示すように、保護されたレルムは AuthChannel フロントエンド認証方式に設定されます。
Illustration showing a Protected Realm for SampleApp Domain
SampleAgentGroup は、サンプル アプリケーションへのエントリ ポイントを提供する Web エージェントを含めることができます。
casso127jpjp
認証情報セレクタ機能の一部としてレルムを保護するエージェントに必要な要件は、以下のとおりです。
  • レルムを保護するすべての Web エージェント間に、シングル サインオンを設定する必要があります。つまり、すべてのエージェントが同じ cookie ドメインにある、または同じ cookie プロバイダを使用していることを意味します。
  • FCC ファイルの @smagentname ディレクティブの値は、最初にリクエストされたリソースを保護する Web エージェントの少なくとも 1 つの予測値と一致する必要があります。
    この予測値は、AgentName パラメータ、または DefaultAgentName パラメータ(AgentName パラメータに値が割り当てられていない場合)の値です。エージェントの設定の EncryptAgentName パラメータが「はい」に設定されている場合、値は暗号化する必要があります。
    @smagentname ディレクティブを設定する方法の 1 つに、同じネーミング プロパティで各 Web エージェントを設定する方法があります。これらのエージェントは、さらにエージェント設定オブジェクトも共有できます。名前を暗号化しないのであれば、FCC ファイルで @smagentname ディレクティブをプログラム的に設定する方法もあります。
    重要:
    @smagentname ディレクティブが正しく設定されていない場合は、「リクエストで受信したレルムはありません」という内容のエラー メッセージがポリシー サーバのログに出力されることがあります。
  • FCCForceIsProtected パラメータを yes に設定し、selectlogin.fcc ファイルによって生成される新しいターゲットに対して 2 つ目の IsProtected コールが必ず作成されるようにします。エージェントが URL クエリ パラメータを無視するのを防ぐために、IgnoreQueryData パラメータを No に設定してください。
サンプル アプリケーションを保護するポリシーのルール
サンプル アプリケーション リソースを含むレルムには、どのようなタイプのルールでも設定できます。
サンプル アプリケーションを保護するポリシーの設定
GetProtected ポリシーでは、保護されたリソースへのアクセスに 5 以上の保護レベルを必要とします。この保護レベル制限を適用するには、GetProtected ポリシーの中にアクティブな式を記述し、この式で SM_AUTHENTICATIONLEVEL 属性を
Single Sign-On
セッション チケットから取得します。
注:
この認証レベル制限は、レベル 1 のパスワード認証しかサポートしていないカスタム Web エージェントからアプリケーションを保護できるように設計されています。
レガシー フェデレーションが使用されているときは、AuthLevel という名前のユーザ コンテキスト変数を作成し、この変数を GetProtected ポリシーの中で使用してアクティブな式を定義し、この式で SM_AUTHENTICATIONLEVEL 属性をセッション チケットから取得します。
Graphic showing the Expression tab of the Create Policy page
 
サンプル アプリケーションのレスポンスの設定
この例で、挨拶メッセージを表示するサンプル アプリケーションは 3 つの HTTP ヘッダ変数を使用します。
  • HTTP_USERNAME
  • HTTP_AUTHLEVEL
  • HTTP_AUTHCONTEXT
これらのヘッダは、以下のレスポンスと一緒にクライアントに返されます。
Illustrationr showing the Header Variables for Sample App Responses
属性値は[レスポンス属性]ペインで指定します。