我使用的ReportViewer展現在我的Windows WPF使用.NET 4.0申請報告。這些報告部署在單獨的SSRS 2008報告服務器上,而不是本地計算機。現在,我傳遞的服務器證書以下列方式:如何憑據傳遞到WPF應用程序SSRS的ReportViewer 2008
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;
我使用配置文件來保存和檢索服務器訪問的憑據,但我認爲這不是一種安全的方式。我想以安全的方式實現這一點,我不需要從用戶或配置文件中獲取憑據。本地機器和服務器都在同一個網絡上。
我不知道該怎麼做,這可以通過模擬來完成,我只是猜測,因爲我對安全和模擬沒有太多的想法。另外,如果可以完成,我可以得到一個樣本,或者可以鏈接到一篇文章,通過它我可以完成這項工作。
其核心思想是避免在用戶端存儲用戶名和密碼。我尋找的解決方案,但我得到的是非常模糊的性質。
請不要關閉此主題,因爲這是一個未解決的問題,但對我來說很重要,因爲我正在接近最後期限並一次處理太多的事情。對不便,如果有任何不便之處。
我找到了一種不通過證書的方法,仍然能夠從報告服務器中檢索報告,但並非沒有幫助。 我已經使用URL http://localhost/Reports/Pages/Folder.aspx在Report Manager中配置了新的角色分配。轉到「屬性」選項卡,然後添加一個新的角色分配並添加Everyone並提供所需的權限。 這樣,我不需要爲ReportViewer傳遞客戶端的任何憑據。此外,它可以用來配置選定用戶的訪問權限。 – 2012-03-29 11:31:29