Я пытаюсь передать учетные данные на сервер ssrs для загрузки отчета в формате PDF, но получаю неавторизованную ошибку 401.
У меня есть проект веб-форм vb.net, над которым я работаю, и онпытается загрузить отчет на удаленной машине SQL Server 2008 r2.Я пытаюсь загрузить отчет и загрузить его в формате PDF.Мой код должен загружать файл как поток данных, который позволяет пользователю сохранить файл.Указав браузер непосредственно на URL отчета, я могу получить PDF, но мне нужно предоставить учетные данные.Я пытаюсь избежать необходимости входить в систему, чтобы получить отчет.Код, который я использую, должен передавать учетные данные, но вместо возврата отчета я получаю 401 несанкционированную ошибку.
Dim ReportUrl As String = "http://server/ReportServer/Pages/ReportViewer.aspx?%2fReport%2fParishreport&rs:Command=Render¶meter=" & session("parameter") & "&rs:format=pdf"
Dim ReportWebResponse As HttpWebResponse
Dim Request As HttpWebRequest = CType(WebRequest.Create(ReportUrl), HttpWebRequest)
'Request.Credentials = CredentialCache.DefaultCredentials
Request.Credentials = New NetworkCredential("user", "password")
ReportWebResponse = CType(Request.GetResponse(), HttpWebResponse)
Dim ReportResponseStream As StreamReader = New StreamReader(ReportWebResponse.GetResponseStream(), New UnicodeEncoding)
Dim objMemoryStream As New MemoryStream(New UnicodeEncoding().GetBytes(ReportResponseStream.ReadToEnd()))
Response.Clear()
Response.AddHeader("Accept-Header", objMemoryStream.Length.ToString())
Response.ContentType = "application/pdf"
Response.OutputStream.Write(objMemoryStream.ToArray(), 0, Convert.ToInt32(objMemoryStream.Length))
ReportResponseStream.Close()
Response.Flush()
Try
Response.End()
Catch
End Try
Я ожидал, что браузер позволит мне сохранить PDF или отобразить PDF в браузере (Firefox, встроенный в программу просмотра PDF).Используя указанное имя пользователя и пароль, я получаю 401 несанкционированную ошибку.Используя defaultcredentials, я получаю чистый PDF с правильным количеством страниц.
Я добавил учетную запись домена на сервер отчетов: 1. с помощью студии управления SQL-сервером 2. с помощью веб-интерфейса сервера отчетов добавление разрешений для папок и отчетов.
Какой метод предоставления учетных данных серверу отчетов является предпочтительным, чтобы можно было использовать учетную запись одного домена для управления возможностью просмотра отчета пользователями?