隐藏 SSRS 授权
Make SSRS authorization hidden
更新
所以,我尝试做 ajax 的原因是登录表单,当用户在应用程序中打开 SSRS 报告时会显示该表单。我有报告框架(两个不同的服务器)并希望在应用程序中对用户不可见授权。对于第一台服务器 - kuybit 我有它,但 SSRS 有其他身份验证表单类型,我遇到了麻烦。
如果有人知道更好的方法,除了 ajax 请求它可以帮助。
旧版Q
我在 iframe 中有用于 BI 报告的应用程序和 Microsoft 服务器。
我正在尝试向报告服务器发送跨域 ajax 请求,但它不起作用,因为跨域的第一个请求是 OPTIONS。而我的 ajax 从来没有
工作了。
我的 ajax 请求:
var path = route + ':444/ReportServer/Pages/ReportViewer.aspx' + reportName + '&rs:Command=Render&rc:stylesheet=HideToolBar';
$.ajax({
url: path,
type: 'GET',
headers: {
'Access-Control-Allow-Headers': 'Authorization',
'Content-Type':'application/xml',
'Authorization' : 'Basic ' + btoa(ssrs_login + ":" + ssrs_password)}
}).success(function (data) {
//todo smth
});
请问有人能帮忙吗
启用 CORS 到 SSRS:
- 打开 Microsoft SQL Server Studio
- 连接到服务器 -> 服务器类型(设置为 "Reporting Services")
- 登录 -> 右键单击服务器根节点 -> 属性
- 从服务器属性 window select、"Advanced" 找到 "User-defined" 并在此标题下找到所有 CORS 设置。
设置
- AccessControlAllowCredentials 为 true <- 允许传递 cookie
- AccessControlAllowOrigin 到您的其他服务器的 URL 以便 OPTION 请求可以传递
更新
所以,我尝试做 ajax 的原因是登录表单,当用户在应用程序中打开 SSRS 报告时会显示该表单。我有报告框架(两个不同的服务器)并希望在应用程序中对用户不可见授权。对于第一台服务器 - kuybit 我有它,但 SSRS 有其他身份验证表单类型,我遇到了麻烦。 如果有人知道更好的方法,除了 ajax 请求它可以帮助。
旧版Q
我在 iframe 中有用于 BI 报告的应用程序和 Microsoft 服务器。 我正在尝试向报告服务器发送跨域 ajax 请求,但它不起作用,因为跨域的第一个请求是 OPTIONS。而我的 ajax 从来没有 工作了。 我的 ajax 请求:
var path = route + ':444/ReportServer/Pages/ReportViewer.aspx' + reportName + '&rs:Command=Render&rc:stylesheet=HideToolBar';
$.ajax({
url: path,
type: 'GET',
headers: {
'Access-Control-Allow-Headers': 'Authorization',
'Content-Type':'application/xml',
'Authorization' : 'Basic ' + btoa(ssrs_login + ":" + ssrs_password)}
}).success(function (data) {
//todo smth
});
请问有人能帮忙吗
启用 CORS 到 SSRS:
- 打开 Microsoft SQL Server Studio
- 连接到服务器 -> 服务器类型(设置为 "Reporting Services")
- 登录 -> 右键单击服务器根节点 -> 属性
- 从服务器属性 window select、"Advanced" 找到 "User-defined" 并在此标题下找到所有 CORS 设置。
设置 - AccessControlAllowCredentials 为 true <- 允许传递 cookie - AccessControlAllowOrigin 到您的其他服务器的 URL 以便 OPTION 请求可以传递