SecurityFilters コレクション
エンティティに対するフィルターとして使用する属性を参照します。エンティティを参照するクエリを実行するときには、ロールなどを通じて間接的に参照する場合も含め、これらのフィルターをすべてクエリに追加する必要があります。適用するフィルターのセットは、標準のセキュリティ ベースのモデルのサブセット化の対象となります。セキュリティ フィルターが定義されている場合に、いずれかのフィルターにアクセスする権限がユーザーになければ、エンティティのすべてのインスタンスがフィルターにより除外されます。継承を含むエンティティでは、すべての先祖エンティティのセキュリティ フィルターも適用されます。
プロパティ
名前 |
カーディナリティ |
型 |
説明 |
---|---|---|---|
1-N |
Object |
フィルターとしてエンティティに適用する属性を参照します。使用できるのは、IsFilter = True の属性のみです。 |
解説
行レベルのセキュリティを有効にするには、フィルターするエンティティに少なくとも 1 つのフィルター属性を作成する必要があります。
フィルター属性の IsFilter プロパティは、True に設定する必要があります。
ユーザー ID がデータ内に存在する場合は、実行時にモデルをセキュリティで保護するためのセキュリティ フィルターを定義する際に、現在のユーザー ID を使用できます。現在のユーザー ID に基づいてセキュリティ フィルターを作成するには、フィルター属性を作成し、ユーザー ID フィールドをフィルターに追加します。次に、フィールドの値と GETUSERID() 関数の値を比較できるように、フィルター条件の式を編集します。
SecurityFilters コレクションにフィルター属性が割り当てられている場合、モデル アイテムのセキュリティが有効であれば、コレクション内のいずれかのフィルターにアクセスする権限のないユーザーは、データをまったく参照できないか、DefaultSecurityFilter プロパティで定義されているデータしか参照できません。