使用C#绕过SSRS的Windows身份验证

时间:2018-10-04 12:56:27

标签: c# sql-server reporting-services cmd

我想访问SSRS Web应用程序。从我的Windows应用程序。如果我从Internet Explorer访问报表服务器的URL并保存Windows身份验证凭据,则Windows应用程序可以工作。但是,如果我在运行Windows应用程序之前不通过浏览器进行身份验证,则不会。

所以在运行Windows应用程序之前如何进行身份验证。

这是用于身份验证的SS窗口。SEE image

2 个答案:

答案 0 :(得分:0)

我能够通过连接到这样的服务帐户(即报表服务器上的用户)来使身份验证起作用:

psutil.Process(pid)

这是来自SSIS的,我使用的代码已被弃用,但是如果它可以工作,它就可以工作...

答案 1 :(得分:0)

谢谢大家的时间,但我已经解决了问题 我尝试使用此代码进行身份验证。

 Uri uri = new Uri("http://ReportServer/Reports");
        WebClient client = new WebClient();
        //client.Credentials = CredentialCache.DefaultCredentials;
        client.Credentials = new NetworkCredential("username", "password");
        using (Stream data = client.OpenRead(uri))
        {
            using (StreamReader sr = new StreamReader(data))
            {
                string result = sr.ReadToEnd();
                Console.WriteLine(result);
            }
        }

它奏效了。 :)