変数の概要
ポリシー サーバは、リクエストの許可段階に組み込むことができる値に変数オブジェクトを解決します。変数オブジェクトの値は、動的データの結果であり、実行時に評価されます。変数は、ポリシーやレスポンスの機能を拡張するための柔軟な手段として利用できます。
casso11jp
ポリシー サーバは、リクエストの許可段階に組み込むことができる値に変数オブジェクトを解決します。変数オブジェクトの値は、動的データの結果であり、実行時に評価されます。変数は、ポリシーやレスポンスの機能を拡張するための柔軟な手段として利用できます。
2
変数タイプ
使用できる変数のタイプは次のとおりです。
静的変数
casso11jp
スタティック変数は、文字列、ブールなど、特定のタイプの単純な名前/値ペアで構成されます。スタティック変数の主なメリットは、正しいプログラミング手法を実践できることです。スタティック変数を使用すれば、複数のポリシーで 1 つのデータを使用できるため、各ポリシーで定数の値を使用するたびに同じ値を繰り返し入力する必要がなくなります。
要求コンテキスト変数
要求を処理するたびに、要求コンテキストが確立されます。このコンテキストは、以下のプロパティを特定します。
- アクションGET または POST など、要求で指定されたアクションのタイプを示します。
- Resource/directory_name/ などの、要求されたリソースを示します。
- サーバserver.example.com などの、要求で指定されたサーバの完全名を示します。
casso11jp
リクエスト コンテキスト変数を使用すると、これらのどの情報でも取得して、ポリシー式やレスポンスに含めることができます。このタイプの変数の主なメリットは、一切プログラミングロジックを使用せずに、きめ細かなコンテキスト要求情報を提供できることです。
ユーザ コンテキスト変数
casso11jp
ポリシー サーバがディレクトリ内のエントリに対してユーザを認証すると、ユーザ コンテキストが作成されます。ユーザ コンテキストは、ユーザディレクトリと、認証されたユーザに関連するディレクトリの内容に関する情報で構成されます。ユーザ コンテキスト変数には、ディレクトリ接続の属性、またはディレクトリの内容に基づく値を指定できます。このタイプの変数の主なメリットは、プログラミング ロジックを一切使用せずに、特定のユーザ コンテキストに基づいて柔軟にルールを定義できることです。
フォーム POST 変数
casso11jp
通常、バックエンド アプリケーションに必要な情報の収集には、HTML フォームが使用されます。フォーム ポスト変数を使用すれば、HTML フォームや POSTed に入力されるあらゆる情報を取得できます。たとえば、アプリケーションに関連付けられたビジネス ロジックで HTML ログイン フォームで指定される購入要求量が必要な場合は、フォーム ポスト変数オブジェクトを作成して、ユーザが指定する購入要求の値を収集します。この変数をポリシーに使用できます。
casso11jp
重要:
EJB および サーブレット エージェントは、フォーム ポスト変数をサポートしません。従って、EJB やサーブレット エージェントで実行されるポリシーには、フォーム ポスト変数を使用しないでください。このタイプの変数の主なメリットは、ポリシー サーバでポリシー式の一部に POST データを使用できることです。これにより、サーバ アプリケーションにセキュリティ ロジックを組み込む必要がなくなります。
casso11jp
通常、バックエンド アプリケーションに必要な情報の収集には、HTML フォームが使用されます。フォーム ポスト変数を使用すれば、HTML フォームや POSTed に入力されるあらゆる情報を取得できます。たとえば、アプリケーションに関連付けられたビジネス ロジックで HTML ログイン フォームで指定される購入要求量が必要な場合は、フォーム ポスト変数オブジェクトを作成して、ユーザが指定する購入要求の値を収集します。この変数をポリシーに使用できます。
サーバ アプリケーション。HTTP POST 変数を使用すれば、エージェントとポリシー サーバ間のネットワークの利用が効率化されます。エージェントは HTTP 変数の情報を HTTP ストリームから抽出し、ポリシー サーバはこの情報を許可の処理時に使用できます。
Web サービス変数
casso11jp
Web サービス変数は、ポリシーまたはレスポンスで使用する情報を Web サービスから取得する際に使用できます。このタイプの変数の主なメリットは、ポリシー サーバ管理者が Web サービスからリアルタイムで提供される動的な顧客情報に基づいてポリシーを定義できることです。
ポリシーでの変数の使用
変数を使用すれば、多様な動的データを取得してポリシー式に組み込むことで、ポリシーにビジネスロジックを含めることができます。管理 UI で変数オブジェクトを定義すると、[ポリシー]ダイアログ ボックスの[式]タブにある式でこれらの変数を使用することができます。複数の変数オブジェクトやブール演算子を使用して式を組み立てれば、複雑なビジネスロジックをポリシーに組み込むことができます。
たとえば、あるアプリケーションへのアクセスを許可するための、ユーザのアカウント タイプの値と信用度の入力を求める式をポリシーに含めることができます。アカウント タイプが「gold」で、信用度が特定の値より高いユーザのみがリソースへのアクセスを許可されるような式をポリシーに定義することができます。この例は 2 つの変数を必要とします。これは式で組み合わせる必要があります。
レスポンスでの変数の使用
変数はレスポンスにも使用できます。管理 UI で変数オブジェクトを定義すると、これらの変数をレスポンスに使用することができます。レスポンスの値は実行時に、ポリシー サーバが変数オブジェクトの値を処理した時点で作成されます。