ASP.net (.net 4、c#) Web アプリケーション (バックエンド: SQL Server 2012) があります。権限の概念 (各ユーザーが表示できるデータ) は、Web アプリケーション内で処理されます。
アクセス許可はさまざまなソースから取得されます。
-AD グループ メンバーシップ:
- AD グループ名はレコードのプロパティにリンクされています
-基礎となるデータベース:
- ユーザーはさまざまな基準に割り当てられます
組織構造
ロケーション構造
直接割り当て
現在、これはすべて Web アプリケーション内で処理されます。そのため、すべてのユーザーのアクセス許可を収集してから、データベースにクエリを実行して、ユーザーが表示できるデータを取得します。
ここで、パーミッションの概念をデータベース レベルに持ち込む必要があります。目標は、ユーザーがデータベース (定義済みのビュー) をほぼ直接 (Reporting Services、Excel など) クエリできるようにすることです。
そのような問題を解決する方法はありますか?
外部キーに対するユーザーの許可に参加することを考えました。しかし、それは AD 権限では不可能です。または、dll を作成し、この dll をストアド プロシージャから呼び出すこともできます。次に、ビューがストアド プロシージャに結合します。