0

ReportViewerを使用して、 .Net4.0を使用しているWindowsWPFアプリケーションにレポートを表示していますこれらのレポートは、ローカルマシンではなく、別のSSRS2008レポートサーバーに展開されます。現在、次の方法でサーバーの資格情報を渡しています。

string userName = configClient.Settings.Get("UserName").Value.ValueXml.InnerText;
string password = configClient.Settings.Get("Password").Value.ValueXml.InnerText;
string domain = configClient.Settings.Get("Domain").Value.ValueXml.InnerText;

IReportServerCredentials irsc = new ReportViewerCredentials(userName, password, domain);
_reportViewer.ServerReport.ReportServerCredentials.NetworkCredentials = irsc.NetworkCredentials;

また、ReportViewerが役立つ場合は、次の設定を使用しています。

_reportViewer.ProcessingMode = ProcessingMode.Remote;
_reportViewer.ShowParameterPrompts = false;
_reportViewer.ServerReport.ReportServerUrl = new Uri(Properties.Settings.Default.ReportServer);
_reportViewer.ServerReport.ReportPath = Properties.Settings.Default.Reports;

サーバーアクセスの資格情報を保存および取得するために構成ファイルを使用していますが、これが安全な方法ではないと思います。ユーザーまたは構成ファイルから資格情報を取得する必要がない安全な方法でこれを実装したいと思います。ローカルマシンとサーバーの両方が同じネットワーク上にあります。

方法がわかりません。これはなりすましで行うことができます。セキュリティとなりすましについてあまり理解していないので、推測しているだけです。また、それができる場合は、サンプルを入手できますか、それを介してこれを行うことができる記事へのリンクである可能性があります。

中心的な考え方は、クライアントにユーザー名とパスワードを保存しないようにすることです。私は解決策を探しましたが、私が得たものは本質的に非常に曖昧でした。

このスレッドは未解決の質問なので閉じないでください。ただし、締め切りが迫っており、一度に多くの作業を行っているため、これは私にとって重要です。ご不便をおかけして申し訳ございません。

4

1 に答える 1

0

クレデンシャルをまったく渡さずに、Reports Serverからレポートを取得できる方法を見つけましたが、助けがなければできません。

URL http://localhost/Reports/Pages/Folder.aspxを使用して、レポートマネージャーで新しい役割の割り当てを構成しました。[プロパティ]タブに移動し、新しい役割の割り当てを追加して全員を追加し、それに必要な権限を付与します。

このように、ReportViewerのクライアントからの資格情報を渡す必要はありません。また、選択したユーザーのアクセスを構成するために使用することもできます。

于 2012-03-30T07:36:54.803 に答える