5

SSRS レポートを自分の Web ページに統合しようとしています。コードは次のとおりです。

ReportViewer1.ProcessingMode = rocessingMode.Remote;
ReportViewer1.ServerReport.ReportServerUrl = new Uri("http://localhost/reportserver");
ReportViewer1.ServerReport.ReportPath = "/Report Project1/Reconciliation";
List<ReportParameter> paramList = new List<ReportParameter>();
paramList.Add(new ReportParameter("StartDate", startdate.ToString(), false));
paramList.Add(new ReportParameter("EndDate", enddate.ToString(), false));
this.ReportViewer1.ServerReport.SetParameters(paramList);
ReportViewer1.Visible = true;

このレポートを実行しようとすると、次のエラーが表示されます。

The permissions granted to user 'COMPUTERNAME\\ASPNET' are insufficient for performing this operation. (rsAccessDenied)"}   
System.Exception {Microsoft.Reporting.WebForms.ReportServerException}

誰が私が間違っているのか教えてもらえますか?

4

3 に答える 3

7

エリックの答えを少し明確にするために。

このエラーを修正するために設定する特定のセキュリティ権限のセット (Reports Manager には、少なくとも他に 2 種類のセキュリティ設定があります) は、レポート フォルダの [プロパティ] タブの [セキュリティ] メニュー オプションで利用できます。見つめている。

言うまでもなく、ホーム フォルダーの "Everyone" グループに完全なアクセス許可を与えるべきではありません。これは、他のすべてのアイテムとサブフォルダーに継承され、巨大なセキュリティ ホールを開くためです。

于 2009-02-06T09:23:21.687 に答える
4

Webアプリにレポートへのアクセスを許可する必要があります。レポートマネージャー(http:// servername / reports /)に移動します。私は通常、Webサーバー全体にレポートに対する「ブラウザ」権限を付与します。

サーバーのアカウント名は通常、Domain \servername$です。したがって、サーバー名が「webserver01」で、ドメインがAcmeの場合、アカウントにAcme \servername$ブラウザ権限を付与します。

レポートを実行しているWebアプリケーションで(IISで)匿名アクセスを無効にすることで修正することもできると思います。そうすれば、レポートサービスはASPNETアカウントではなくユーザーの資格情報を使用して認証されます。しかし、それはあなたにとって実行可能な解決策ではないかもしれません。

于 2008-09-26T00:21:15.307 に答える
1

問題は、ASP.NET ワーカー プロセスに必要な操作を実行する権限がないことです。

サーバー (MACHINENAME\ASPNET) でこのユーザーを編集し、追加の権限を与えます (書き込み権限などが必要になる場合があります)。

また、SSRS が使用する SQL データベースに MACHINENAME\ASPNET をユーザーとして追加する必要があります。

于 2008-09-25T23:25:40.853 に答える