0

簡単なログイン システムになる ASP.NET にサイトが必要です。ログイン後、SSRS で作成されたレポートへのリンクもあります。しかし、すべてのユーザーは、彼が見ることができるさまざまなリンクを持っています. Windows認証で確認したいニックネームとパスワード。
1) これらの情報をデータベース以外の場所に保管することは可能でしょうか?
2) Report Manager と同様のレイアウトを取得するにはどうすればよいですか? つまり、ASP.NET を使用してレポートを表示する方法を教えてください。

私は ASP.NET の初心者です (そのようなことができるかどうかはわかりません)。

前もってありがとう、
モニック

4

1 に答える 1

1

質問 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 を使用して、レポートをレポート ビューアーに返します。

=>パラメータなどを選択...

于 2013-12-06T13:02:08.190 に答える