我正在将部署在Azure SQL报告上的SSRS迁移到Azure VM上托管的SSRS。我已经成功创建了一个虚拟机并部署了我的报告,可以从浏览器中查看。现在我的要求是我想以编程方式获得PDF或EXCEL格式的报告。这个要求在过去的一年里工作得很好,但是当我打电话给我时,我已经搬到了VM
ReportViewer.ServerReport.GetParameters()
方法它抛出异常401 UnAuthorized访问。我目前正在使用以下课程来验证我的用户以获取PDF或EXCEl
的报告public class SSRSReportServerCredentials : IReportServerCredentials
{
public SSRSReportServerCredentials()
{
}
public WindowsIdentity ImpersonationUser
{
get { return null; }
}
public ICredentials NetworkCredentials
{
get { return null; }
}
public bool GetFormsCredentials(out Cookie authCookie, out string user, out string password, out string authority)
{
authCookie = null;
user = sa;
password = test;
authority = SERVER.reporting.windows.net;
return true;
}
}
任何人都可以帮我解决我的生产问题。
最好的问候, Zeeshan
答案 0 :(得分:0)
对不起家伙太迟回复了,我已经解决了这个问题差不多2个月前但是没有时间与大家分享我的发现。我已经更改了凭证文件,如下所示,并调用参数化构造函数
public class SSRSReportServerCredentials:IReportServerCredentials { public SSRSReportServerCredentials() { } public WindowsIdentity ImpersonationUser { get {return null; } } 公共ICredentials NetworkCredentials { get {return new NetworkCredential(WebConfigurationManager.AppSettings [“userName”],WebConfigurationManager.AppSettings [“password”]); } }
public bool GetFormsCredentials(out Cookie authCookie, out string user, out string password, out string authority)
{
authCookie = null;
user = null;
password = null;
authority = null;
return false;
}
}