これは私のチームと私が助けを求めてインターネットを探し回っている質問ですが、ほとんど成功していません. (私たちの考えでは) 一般的な状況のように思えますが、最善のアプローチに焦点を合わせることは、多くの人にとって非常に役立つ可能性があります。
.NET コードを使用してかなり細かいレベルでデータ アクセスを制御する ASP.NET アプリケーションがあります。つまり、ユーザー テーブル、ロール テーブル、セキュリティ テーブル、ワークフロー テーブル、そして多数のビジネス データ テーブルがあります。ビジネス データへのアクセスは、エンド ユーザーがアプリケーションで直接ユーザー アカウントとセキュリティを自己管理できるため、高度に構成可能です。私たちの .NET C# コードは、(Windows ログインに基づいて) 特定の要求に資格があるデータを決定し、それを提供します。SQL Server ログイン/ロールを使用した関連するビジネス セキュリティはありません。
では、.NET コードを使用してリレーショナル データで定義されたデータ アクセスをプログラムで強制するシステムに SSRS を実装するにはどうすればよいでしょうか。
ソリューションは次のいずれかのようになると思います。
[SSRS レポート] > [データソース] > データ アクセスを制御する .NET コード > [SQL Server]
...または...
[SSRS レポート] > データ アクセスを制御する .NET コード > [データソース] > [SQL Server] ]
これが正しい場合、これを可能にするために欠けている技術やコンセプトは何ですか?
どのソリューションも、次の重要な要件を満たす必要があります。
- ビジネス パワー ユーザー (レポート作成者) は、レポート ビルダー 3.0 を使用して SSRS レポートを作成できる必要があります。データセット デザイン ビューとクエリ デザイナーを使用して、ビジネス データとリレーションシップを引き続き操作できる必要があります。
- ビジネス パワー ユーザー (レポート作成者) は、レポートまたはデータ クエリにデータ アクセスを実装する必要はありません。レポートのデザインだけを考えればよいのです。
- レポートにアクセスするエンド ユーザー (レポート コンシューマー) は、特定のアクセス レベルに基づいてレポート内のフィルター処理されたデータ (.NET コードによって行われる) を取得します。
他の誰かが .NET コードを使用してデータ アクセスを管理しているのではないでしょうか。このシナリオでは SSRS を使用できませんか?
ありがとう!