1

私たちのデータベースでは、すべてのテーブルが 1 つのテーブルにリンクされています。このテーブルには、レコードが表示されるかどうかを制限するためのビット列があります。現在、レコードは Web サイトのコード側でフィルタリングされています。

その共通ビット列がtrueに設定されているデータベース内のレコードをuserAが決して見ないように権限を設定する方法はありますか?

SQL Server 2008 を使用しています。

あるいは、エンティティ フレームワーク 4.0 を .net 4 (c#) で使用しています。

ご意見をいただきありがとうございます。

4

2 に答える 2

0

この優れた TechNet 記事によると、現在のユーザーによる結果を制限するためにビューまたはストアド プロシージャを使用してデータベースを適切に構成すれば、SQL サーバーで行レベルのセキュリティが実際に可能です。私の知る限り、SQL Server には行レベル ロックの機能が組み込まれていません。

于 2011-02-24T15:23:08.470 に答える
0

テーブルの上にビューを定義すると、その「アクティブ」列が 1 (true) に設定されている行のみが表示されます。

SELECT次に、そのユーザー グループから基になるテーブルに対するアクセス許可を取り消すことができますが、SELECT作成した新しいビューに対してそれらのアクセス許可を付与することができます。

于 2011-02-24T15:23:48.593 に答える