【发布时间】:2010-06-02 13:25:21
【问题描述】:
在使用网络报告查看器查看 SSRS 报告时,我需要一些有关身份验证的帮助。
在 IIS 中,我仅设置了“Windows 身份验证”,未选中“匿名访问”以及“目录安全”选项卡中的其他检查。我的网站中的结果是 WindowsIdentity.GetCurrent() 返回 ASPNET 用户和 Request.LogonUserIdentity 登录用户的域帐户。在承载 ReportViewer 控件的页面上,我以编程方式模拟 Request.LogonUserIdentity,然后设置所有报告/服务器属性并刷新 ServerReport,但是这将返回“请求失败,HTTP 状态 401:未授权”。错误,我 100% 确定 Request.LogonUserIdentity 可以访问报告。为了证明模拟有效,WindowsIdentity.GetCurrent() 在模拟后返回与 Request.LogonUserIdentity 相同的用户,当我需要查询数据库时,我使用的是相同的模拟,只是针对特定用户。
我注意到在 ReportViewer1 上,ServerReport 属性有一个 ImpersonationUser 属性,但我无法设置它,也找不到在哪里设置。
任何人都可以解释一下吗?我已经为此工作了好几天了....
【问题讨论】:
标签: authentication reporting-services reportviewer