Web エージェントでのレスポンス属性の機能
レスポンス属性は、データをアプリケーションに提供し、ユーザ エクスペリエンスをカスタマイズする手段を提供します。このコンテンツでは、レスポンス属性が Web エージェントと連携する方法について説明します。
casso11jp
レスポンス属性は、データをアプリケーションに提供し、ユーザ エクスペリエンスをカスタマイズする手段を提供します。このコンテンツでは、レスポンス属性が Web エージェントと連携する方法について説明します。
管理 UI を使用してレスポンスを設定し、ポリシー内の特定のルールにそのレスポンスを関連付けます。リクエストが設定済みのレスポンスでルールをトリガすると、ポリシー サーバはレスポンス データをエージェントに送信します。エージェントはその情報を解釈し、Web アプリケーションで使用できるようにします。
レスポンスを設定した後、そのレスポンスをエージェントのアクションに関連付けます。HTTP ヘッダと cookie のレスポンス属性を、GET と POST の各アクションに関連付けることができます。これらの属性を、認証イベントまたは許可イベントに結び付けることもできます。これらのイベントのいずれかでユーザが承認または拒否された場合、ポリシー サーバはレスポンスを送信できます。
注:
レスポンス属性を設定する場合、エージェントのレスポンスに使用できる Web サーバの最大バッファ サイズは 32 KB です。レスポンス属性には、合計バッファ サイズ以外は、長さに関する制限はありません。ヘッダ属性や Cookie 属性以外のレスポンス属性を使用できるのは、認証イベントまたは許可イベントが発生した場合
のみ
です(それぞれのイベントでユーザが承認場合でも拒否された場合でもかまいません)。たとえば、1 つのルールに対応させる 1 つの許可イベント
アクションを選択し、次に 1 つの WebAgent-OnReject-Redirect
レスポンス属性を設定することができます。許可プロセスでユーザが拒否された場合、エージェントはそのユーザを他のページへリダイレクトして、そのページにそのユーザが拒否された理由を示すメッセージを表示することができます。以下の図は、レスポンス属性がどのようにポリシー サーバから Web サーバに送信されるかを示したものです。

レスポンス属性のメンテナンスを簡素化するには、イベントの種類ごとに別々のレスポンス属性を定義します。たとえば、OnAccept イベントに対して 1 つのレスポンス属性を定義し、OnReject イベントに対して別のレスポンス属性を定義します。レスポンス属性を個別に作成することで、属性値の変更が必要な場合に、属性の検索が容易になります。
フォームの要求に対するレスポンスのカスタマイズ
Web エージェントがフォーム認証方式を使用した認証をユーザに要求する場合、開発者は SM_AGENTAPI_ATTR_USERMSG レスポンスを使用して、クライアント アプリケーションにカスタム テキストを返すことができます。
Single Sign-On
パスワード ポリシーを設定すると、フォームによる要求時に、Web エージェントは SM_AGENTAPI_ATTR_USERMSG レスポンスから得られたテキストを SMUSRMSG Cookie に変換できます。SMUSRMSG Cookie を生成するには、パスワード ポリシーが必要です。エージェントは、以下の条件下でのみ、レスポンスを SMUSRMSG Cookie に変換します。
- ユーザ パスワードが期限切れです。
- 指定されたパスワードがパスワード ポリシーに一致しない場合のパスワードの強制変更フローを有効にします。
Cookie に含まれるテキストには、パスワード ポリシーに対して新しいパスワードの設定が失敗した理由が説明されています。Cookie には、パスワードが期限切れである理由を示すテキストも含まれています。
認証要求の完了後に SMUSRMSG Cookie が削除されたことを保証するために、FCC は以下のように、POST リクエストが成功した後に、その Cookie を消費(ブラウザから削除)します。
- ネイティブモードでは、エージェントはログイン成功後に、元のターゲット URL へリダイレクト中に、その Cookie を削除します。
- 4.x 互換モードでは、エージェントは FORMCRED Cookie の生成後に、元のターゲット URL へのリダイレクト中に、その Cookie を削除します。
注:
SMUSRMSG Cookie は一定期間ブラウザ内に保存されます。また、セキュリティで保護されていない HTTP 接続を通じて転送される可能性もあります。その結果、機密データを避ける必要があります。Web エージェントは、フォーム チャレンジ中に、SMUSRMSG Cookie に配置されたテキストを URL エンコード化します。その結果、それらのテキストは、HTTP 送信で安全になり、スペースや他の有害な文字が削除されます。FCC は、環境からこのテキストを利用できるようになる前に、カスタム FCC 機能でこのテキストをデコードします。URL エンコードは、テキストが SMUSRMSG Cookie に配置されていない限り実装されません。
新しい機能を実装するには、カスタム認証方式の開発者は、カスタムフォームをベースとする認証方式を生成する必要があります。Sm_AgentApi_Login() の呼び出しが SM_AGENTAPI_CHALLENGE を返した場合、エージェントは、要求を行っているユーザを、Sm_AgentApi_IsProtected() へのレスポンスとして提供された認証方式 URL へリダイレクトすることにより、そのユーザに認証を要求します。
Web エージェントが、HTML フォーム認証方式テンプレートを使用する認証方式を取り扱う場合、そのエージェントはレスポンス属性 SM_AGENTAPI_ATTR_STATUS_MESSAGE を検索します。この属性が見つかった場合、エージェントは適切な SMUSRMSG cookie を生成し、同時に、認証方式 URL へのリダイレクトを行います。目的の .FCC ソースファイルに適切なディレクティブが配置されている場合、FCC はフォーム生成中にこの Cookie を使用する可能性があります。
FCC の詳細については、ポリシー サーバのドキュメントを参照してください。
レスポンス属性のキャッシュ
レスポンス属性をキャッシュに格納するか、または動的データを含む属性を期限切れにして、強制的にポリシー サーバに接続して情報を更新するように、エージェントに指示することができます。スタティック レスポンス属性を設定すると、ポリシー サーバにより、値のキャッシングが認められます。スタティック値は不変であるため、再計算の必要はありません。ユーザ属性、DN 属性、またはアクティブ属性を設定する場合は、その値をキャッシュするか、データが最新であるようにするために一定の間隔で再計算するか、いずれかを選択することができます。