Reporting services SSRS 2016发布,带有自定义安全扩展(身份验证)
我有一个网站(一个httphandler)托管在IIS中,我正在从SSRS 2106读取响应(使用Reporting services SSRS 2016发布,带有自定义安全扩展(身份验证),reporting-services,ssrs-2016,Reporting Services,Ssrs 2016,我有一个网站(一个httphandler)托管在IIS中,我正在从SSRS 2106读取响应(使用HttpWebRequest和HttpWebResponse),并将输出流写入Web浏览器,自定义身份验证按预期工作 但是,在身份验证成功后,我将通过向发送新的web请求来传递SSRS 2016返回的SQLAuthCookie “要获得所需的响应,但当我将输出写入浏览器时,我会看到一个空白屏幕,看起来我在这里犯了一些错误 请在下面的代码片段中查找,如果我遗漏了什么,请告诉我。同样的方法在SSRS 2
HttpWebRequest
和HttpWebResponse
),并将输出流写入Web浏览器,自定义身份验证按预期工作
但是,在身份验证成功后,我将通过向发送新的web请求来传递SSRS 2016返回的SQLAuthCookie
“要获得所需的响应,但当我将输出写入浏览器时,我会看到一个空白屏幕,看起来我在这里犯了一些错误
请在下面的代码片段中查找,如果我遗漏了什么,请告诉我。同样的方法在SSRS 2012和2014中运行良好。此外,我的网站和SSRS报表服务器生成的标记是相同的。
身份验证成功后,SSRS返回了SQL auth cookie,我将通过一个新的请求将其传回,以获取主页的内容()
处理程序进程请求方法中的代码:
var streamWriter = new StreamWriter(context.Response.OutputStream)
var request = (HttpWebRequest)null;
Uri uri = new Uri("http://xxxxxx/Reports/browse");
request = (HttpWebRequest)HttpWebRequest.Create(uri);
CookieContainer cookieJar = new CookieContainer();
request.CookieContainer = cookieJar;
request.CookieContainer.Add(response.Cookies["SqlAuthCookie"]);
request.KeepAlive = false;
request.Headers.Add("Accept-Language",
HttpContext.Current.Request.Headers["Accept-Language"]);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
// Get the stream containing content returned by the server.
var dataStream = response.GetResponseStream();
var reader = new StreamReader(dataStream,
Encoding.GetEncoding(response1.CharacterSet));
//Read the content
String responseFromServer = reader.ReadToEnd();
streamWriter.Write(responseFromServer);
我得到一个空白页面,看起来CSS和JavaScript没有被调用/加载
请参阅下面生成的标记-显示空白页。
Reporting Services门户网站
var locName=window.location.pathname.split('/')[1];
文件。填写(“”);
//Favicon相关元素
var favIconPath=window.location.origin+“/”+locName+“/favicon.ico”;
文件。填写(“”);
文件。填写(“”);
//注入:css
文件。填写(“”);
文件。填写(“”);
//endinject:css