質問 1: どのような種類の情報について話しているのか、コミュニティが取り組むことができる構造に基づいたコーディング例または何かを挙げてください。
編集: はい、レポートを別の場所に置くことは可能です。さらに、これは、ユーザーごとに SSRS の下で権限を作成する必要があることを意味し、ページでユーザー認証を使用して SSRS への参照を作成します。そこから、SSRS 機能を使用します。これは、新しいユーザーがどのレポートを表示するかを挿入するために、管理者が必要になることを意味します。すべてのユーザーがそこから作業できるように、SSRS アドレスを指定する方が簡単なため、これは不便な方法です。(ただし、ページの外観については何も言う必要はありません。)
質問 2: ASP.net には、レポート サーバーで使用可能な特定のレポートを監視する機能を提供するレポート ビューアー コントロールがあります。SSRS reportviewer のほとんどの機能は、このコントロールでシミュレートできます。コントロールを使用するときは、コントロールをよく理解する必要があることに注意してください。http://msdn.microsoft.com/en-us/library/ms251671(v=vs.110).aspx
補足として:
私はかつて、ユーザーIDに基づいてさまざまなレポート、さまざまなパラメーターに対する権限を持つユーザーを持つWebサイトを作成しました。私は、インターン (SSO) および外部ユーザーから構成されるユーザー テーブルを持っていました。また、さまざまな役割があります。そのすべてに基づいて、さまざまな権利が与えられました。
reportviewer へのリンクは、ユーザー自身の認証の代わりに共通の reportuser を使用し、userid は、他のパラメーターが基づいている追加のパラメーターとして与えられました。
編集:
特定のユーザーにレポートへのアクセスを許可する場合は、User、Report、および UserReportLink の 3 つのテーブルを作成します。
例:
Userid | Name
1 | user A
2 | user B
3 | user C
Reportid | Name |ReportLink
1 | report A | 'http://MyReportServer/reports/Report1.aspx'
2 | report B | 'http://MyReportServer/reports/Report2.aspx'
3 | report C | 'http://MyReportServer/reports/Report3.aspx'
4 | report D | 'http://MyReportServer/reports/Report4.aspx'
Userreportid | Userid | Reportid
1 | 1 | 1
2 | 1 | 2
3 | 2 | 1
4 | 2 | 2
5 | 2 | 3
6 | 3 | 2
7 | 3 | 3
8 | 3 | 4
ページは、次のレポートのロジックで構成されます。
=>ログインしているユーザーを返します(セッションはおそらくasp.netなので)
=> ユーザーが見る必要があるすべてのレポートのリストを返す
var q = (from m in UserReportLinks
where m.Userid = this.UserId
select m).ToList();
=> 上記で、ユーザーのレポートが作成されました。
var l = new List<Report>();
foreach(var item in q)
{
var r = (from m in Reports
where m.Reportid = item.Reportid
return m).ToList();
l.Add(r);
}
//populate a control so the user can select a report
aControl.DataSource = l;
=> 最後に、selectedId を使用して、レポートをレポート ビューアーに返します。
=>パラメータなどを選択...