SecurityFilters コレクション

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

プロパティ

名前

カーディナリティ

説明

AttributeReference

1-N

Object

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

解説

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

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

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

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