2012-03-29 82 views
0

我使用的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; 

我使用配置文件來保存和檢索服務器訪問的憑據,但我認爲這不是一種安全的方式。我想以安全的方式實現這一點,我不需要從用戶或配置文件中獲取憑據。本地機器和服務器都在同一個網絡上。

我不知道該怎麼做,這可以通過模擬來完成,我只是猜測,因爲我對安全和模擬沒有太多的想法。另外,如果可以完成,我可以得到一個樣本,或者可以鏈接到一篇文章,通過它我可以完成這項工作。

其核心思想是避免在用戶端存儲用戶名和密碼。我尋找的解決方案,但我得到的是非常模糊的性質。

請不要關閉此主題,因爲這是一個未解決的問題,但對我來說很重要,因爲我正在接近最後期限並一次處理太多的事情。對不便,如果有任何不便之處。

+0

我找到了一種不通過證書的方法,仍然能夠從報告服務器中檢索報告,但並非沒有幫助。 我已經使用URL http://localhost/Reports/Pages/Folder.aspx在Report Manager中配置了新的角色分配。轉到「屬性」選項卡,然後添加一個新的角色分配並添加Everyone並提供所需的權限。 這樣,我不需要爲ReportViewer傳遞客戶端的任何憑據。此外,它可以用來配置選定用戶的訪問權限。 – 2012-03-29 11:31:29

回答

0

我找到了一種不通過證書的方法,仍然能夠從報告服務器檢索報告,但並非沒有幫助。

我已在報告管理器中使用URL http://localhost/Reports/Pages/Folder.aspx配置了新的角色分配。轉到「屬性」選項卡,然後添加一個新的角色分配並添加Everyone並提供所需的權限。

這樣,我不需要爲ReportViewer傳遞客戶端的任何憑據。此外,它可以用來配置選定用戶的訪問權限。

相關問題