ユーザアクセスを制限する IDO フィルタの使用

ユーザが表示できるデータを制限するには、IDO にフィルタを適用できます。アプリケーションにアクセスするどのスマートクライアントや Web クライアントも、IDO に適用されるフィルタに基づいて、コレクション内のデータの適切なサブセットを表示できます。IDO フィルタは汎用にすることも(つまり、どのユーザがアクセスしても IDO に適用される)、ユーザ ID またはグループごとに制約することもできます。

たとえば販売担当者ユーザが自分の機会だけを表示して、他の販売担当者の機会は表示できないようにするフィルタを作成できます。あるいは、ポータルからアプリケーションにログインした顧客は、そのオーダに関して制限された情報しか見ることができないように、フィルタを作成することができます。

[有効]チェックボックスを使用して、たとえばテスト時など、必要に応じて、フィルタをオン/オフします。

注意:  デフォルトでは、[行権限] フォームで定義されている全ての Infor 提供フィルタに対して、 [有効] チェックボックスはオンになっています。フィルタの [有効] チェックボックスをオフにすると、以前にそのフィルタで制限されたユーザも制限されなくなります。例えば、やり取り IDO に対して設定されている Infor 提供のフィルタをオフにすると、どのカスタマーポータルユーザでも、その顧客に関係するものに限らず、システム内の全てのやり取りを表示できるようになります。

[行権限] フォームでは、以下のいずれかの方法で IDO フィルタにアクセスできます。

  • エクスプローラから、 [行権限] フォームを開きます。
  • [ユーザ] フォームから、[ユーザ IDO フィルタ] または [グループ IDO フィルタ] をクリックし、選択したユーザまたはグループに基づいてフィルタしたフォームを開きます。
  • [グループ] フォームから、[ユーザ IDO フィルタ] または [グループ IDO フィルタ] をクリックして、選択したユーザまたはグループに基づいてフィルタしたフォームを開きます。
  • [IDO] フォームから、[IDO フィルタ] をクリックし、選択した IDO に基づいてフィルタをかけたフォームを開きます。

注記

  • スーパーユーザとしてログインすると、常に、フィルタのかかっていないデータが表示されます。
  • フォームでコレクションを表示する場合は、 [このフォームについて] ダイアログボックスを開くことで IDO フィルタが適用されているかどうかが分かります。適用されているフィルタは全て、このダイアログボックスに一覧されます。
  • IDO フィルタは、ランタイムによって、コレクションのロードに使用される SQL に変換される擬似 SQL WHERE 句に追加される追加句です。IDO のフィルタは、残りのメタデータとともにロードされるので、メタデータオブジェクトとともにキャッシュされます。コレクションがロードされると、ロードがフィルタをバイパスしない限り(スーパーユーザによってロードされない限り)、SQL コマンドビルダはメタデータを使用して、IDO レベルのフィルタ句を WHERE 句に追加します。
  • IDO フィルタ句は、以下のフィルタの全てまたは一部を AND で結合して構築されます。
    • 汎用 IDO フィルタで、[ユーザ]と[グループ]が空白です。
    • [ユーザ] が現在のログインに設定されている、ユーザの IDO フィルタ
    • [グループ] が現在のユーザのいずれかのグループメンバーシップに設定されている、ユーザのグループの IDO フィルタ(ユーザは、その所属グループのどれかに表示される行を全て見ることができなければならないので、グループフィルタは OR で結合されます。)
  • 多数の個々のユーザフィルタを IDO にかけると、システム管理者が多数のセットアップを行い、保守に時間をかける必要がでてきます。可能な場合は、複数のユーザをグループまたは相互参照テーブルにまとめてから、そのグループまたはテーブル結合にフィルタを適用します。
  • ただし、IDO 継承のレベルが複数ある IDO にフィルタを使用したり、グループごとにフィルタを持つユーザが多数のグループのメンバである場合は、パフォーマンスに悪影響が出るほどフィルタ句が蓄積する恐れがあります。
  • 生成された擬似 SQL 照会をチェックしてみてください。照会内のカラムのどれかにインデックスがない場合は、処理時間に影響する恐れがあります。追加フィルタ分の出力を確認するため、 [行権限] を設定する前に存在していた元の照会と疑似 SQL 照会とを比較します。疑似 SQL 照会は、ログモニタユーティリティまたは IDO ランタイム開発サーバで表示できます。
関連トピック