sql >> Databáze >  >> RDS >> Sqlserver

Požadavek se nezdařil se stavem HTTP 401:Neautorizováno v SSRS

Také se mi zobrazuje stejná chyba,

The request failed with HTTP status 401: Unauthorized.

Dovolte mi podělit se o to, co jsem zkoušel a nyní to funguje dobře.

public class CustomSSRSCredentials : IReportServerCredentials
    {
        private string _SSRSUserName;
        private string _SSRSPassWord;
        private string _DomainName;

        public CustomSSRSCredentials(string UserName, string PassWord, string DomainName)
        {
            _SSRSUserName = UserName;
            _SSRSPassWord = PassWord;
            _DomainName = DomainName;
        }

        public System.Security.Principal.WindowsIdentity ImpersonationUser
        {
            get { return null; }
        }

        public ICredentials NetworkCredentials
        {
            get { return new NetworkCredential(_SSRSUserName, _SSRSPassWord, _DomainName); }
        }

        public bool GetFormsCredentials(out Cookie authCookie, out string user,
         out string password, out string authority)
        {
            authCookie = null;
            user = password = authority = null;
            return false;
        }
    }

Uvnitř page_load událost,

if (!Page.IsPostBack)
{
    ReportViewer1.ProcessingMode = ProcessingMode.Remote;
    IReportServerCredentials ssrscredentials = new CustomSSRSCredentials("MyUserName", "MyPassword", "ServerName");
    ServerReport serverReport = ReportViewer1.ServerReport;
    ReportViewer1.ServerReport.ReportServerCredentials = ssrscredentials;
    serverReport.ReportServerUrl = new Uri("ReportPathKey");
    serverReport.ReportPath = "/Reports/MyReport";
    serverReport.Refresh();
}

Tohle pro mě fungovalo!



  1. Skrytá vylepšení výkonu a správy v SQL Server 2012 / 2014

  2. Jak volat funkci Oracle v Pythonu?

  3. Proč je při kontrole typu řádku IS NOT NULL false?

  4. Dotaz na vztahy cizího klíče tabulky