私のドットネットアプリケーションからログインしたユーザー名をReport Servicesに渡そうとしています。これは私のコードです:レポートビューアからSSRSにパラメータを渡す
string usern = WindowsIdentity.GetCurrent().Name.ToString();
ReportViewer1.ProcessingMode = ProcessingMode.Remote;
ReportViewer1.ServerReport.ReportServerUrl =
new Uri(@"http://myserver/reportServer/");
ReportViewer1.ServerReport.ReportPath = @"/path/subpath/reportName";
ReportParameter[] rp = new ReportParameter[1];
rp[0] = new ReportParameter("paramTest", usern);
ReportViewer1.ServerReport.SetParameters(rp);
ReportViewer1.ServerReport.Refresh();
私はローカルで実行すると、すべてが正常に動作し、私はパラメータのテキストボックスに自分のユーザー名を見ることができます。サーバー上で実行すると、ユーザー名の代わりに「NT AUTHORITY \ NETWORK SERVICE」が表示されます。 アイデア事前に感謝
:
は、ここでは、Windows認証を使用している場合は、あなたのアプリケーションのユーザーの名前を取得するのを助けることができる3つのリンクですこのコードはサーバー上でどのように動作していましたか?サービスとして? ASP.NETアプリケーションとして? – slugster
これはASPアプリケーションです。上記のコードはPageLoadメソッド – Adolfo