using System;
using System.Collections.Generic;
using System.Net;
using System.Web;
using ReportExecution2005;
using ReportService2005;
using Microsoft.Reporting.WebForms;
/// <summary>
///ReportViewerCredentials 的摘要说明
/// </summary>
public class ReportViewerCredentials:IReportServerCredentials
{
public ReportViewerCredentials()
{
//
//TODO: 在此处添加构造函数逻辑
//
}
private string _username;
private string _password;
private string _domain;
public Uri ReportServerUrl;
public ReportViewerCredentials(string username, string password, string domain)
{
_username = username;
_password = password;
_domain = domain;
ReportServerUrl = new Uri(ur);
}
#region IReportServerCredentials Members
public System.Security.Principal.WindowsIdentity ImpersonationUser
{
get {
return null;
}
}
public System.Net.ICredentials NetworkCredentials
{
get {
System.Net.NetworkCredential nc = new NetworkCredential NetworkCredential(_username, _password, _domain);
CredentialCache cc = new CredentialCache();
cc.Add(ReportServerUrl, "Negotiate", nc);
return cc;
}
}
public bool GetFormsCredentials(out Cookie authCookie,out string userName, out string password,out string authority)
{
authCookie = null;
userName = null;
password = null;
authority = null;
// Not using form credentials
return false;
}
#endregion
}
Show Repotring Services Method:
private void ShowReport()
{
Uri uri = new Uri(this.reportServerUrl);
this.ReportViewer1.ServerReport.ReportServerUrl = uri;
this.ReportViewer1.ServerReport.ReportPath = this.reportUrl;
this.ReportViewer1.ServerReport.ReportServerCredentials = new ReportViewerCredentials("user","Pass", "domain");
ReportViewer1.ServerReport.Refresh();
ReportViewer1.ShowParameterPrompts = true;
}