3

ASP.net (.net 4、c#) Web アプリケーション (バックエンド: SQL Server 2012) があります。権限の概念 (各ユーザーが表示できるデータ) は、Web アプリケーション内で処理されます。

アクセス許可はさまざまなソースから取得されます。

-AD グループ メンバーシップ:

  • AD グループ名はレコードのプロパティにリンクされています

-基礎となるデータベース:

- ユーザーはさまざまな基準に割り当てられます

  • 組織構造

  • ロケーション構造

  • 直接割り当て

現在、これはすべて Web アプリケーション内で処理されます。そのため、すべてのユーザーのアクセス許可を収集してから、データベースにクエリを実行して、ユーザーが表示できるデータを取得します。

ここで、パーミッションの概念をデータベース レベルに持ち込む必要があります。目標は、ユーザーがデータベース (定義済みのビュー) をほぼ直接 (Reporting Services、Excel など) クエリできるようにすることです。

そのような問題を解決する方法はありますか?

外部キーに対するユーザーの許可に参加することを考えました。しかし、それは AD 権限では不可能です。または、dll を作成し、この dll をストアド プロシージャから呼び出すこともできます。次に、ビューがストアド プロシージャに結合します。

4

1 に答える 1

2

データベースhttp://msdn.microsoft.com/en-us/library/ms188659.aspxでのロールの定義を確認する必要があります 。次に、要件に応じて、さまざまなテーブルまたはビューに対する権限を付与します。ビューからのみデータが読み取られるのを見てきました。したがって、それもオプションになる可能性があります。

編集:

したがって、行レベルのセキュリティが必要なようです。Microsoft からのこのガイダンスをお読みください。

http://technet.microsoft.com/en-us/library/cc966395.aspx

于 2012-12-05T07:55:54.993 に答える