SecurityFilters コレクション

エンティティに対するフィルタとして使用する属性を参照します。エンティティを参照するクエリを実行するときには、ロールなどを通じて間接的に参照する場合も含め、これらのフィルタをすべてクエリに追加する必要があります。適用するフィルタのセットは、標準のセキュリティ ベースのモデルのサブセット化の対象となります。セキュリティ フィルタが定義されている場合に、いずれかのフィルタにアクセスする権限がユーザーになければ、エンティティのすべてのインスタンスがフィルタにより除外されます。継承を含むエンティティでは、すべての先祖エンティティのセキュリティ フィルタも適用されます。

プロパティ

名前

カーディナリティ

説明

AttributeReference

1-N

Object

フィルタとしてエンティティに適用する属性を参照します。使用できるのは、IsFilter = True の属性のみです。

解説

  • 行レベルのセキュリティを有効にするには、フィルタするエンティティに少なくとも 1 つのフィルタ属性を作成する必要があります。

  • フィルタ属性の IsFilter プロパティは、True に設定する必要があります。

  • ユーザー ID がデータ内に存在する場合は、実行時にモデルをセキュリティで保護するためのセキュリティ フィルタを定義する際に、現在のユーザー ID を使用できます。現在のユーザー ID に基づいてセキュリティ フィルタを作成するには、フィルタ属性を作成し、ユーザー ID フィールドをフィルタに追加します。次に、フィールドの値と GETUSERID() 関数の値を比較できるように、フィルタ条件の式を編集します。

  • SecurityFilters コレクションにフィルタ属性が割り当てられている場合、モデル アイテムのセキュリティが有効であれば、コレクション内のいずれかのフィルタにアクセスする権限のないユーザーは、データをまったく参照できないか、DefaultSecurityFilter プロパティで定義されているデータしか参照できません。