报告查看者获得401未经授权

时间:2012-09-06 06:06:10

标签: visual-studio-2008 iis-7 ssrs-2008 user-permissions reportviewer2008

简而言之,问题是当我尝试查看报表查看器中嵌入的报表时,我收到了以下stacktrace的401 Unauthorized错误。

   at Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.GetSecureMethods()
   at Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.IsSecureMethod(String methodname)
   at Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.LoadReport(String Report, String HistoryID)
   at Microsoft.Reporting.WebForms.ServerReport.GetExecutionInfo()
   at Microsoft.Reporting.WebForms.ServerReport.SetParameters(IEnumerable`1 parameters)
   at ReportingObject.RenderReport(ReportViewer reportViewer, ReportParameter[] param) in C:\Projects\RBDCReportMapIntelligence\RBDCReportMapIntelligence\ReportingObject.cs:line 41
   at Report.btnViewReport_Click(Object sender, EventArgs e) in c:\Projects\RBDCReportMapIntelligence\RBDCReportMapIntelligence\Report.aspx.cs:line 126
   at System.Web.UI.WebControls.Button.OnClick(EventArgs e)
   at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
   at System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
   at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
   at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

以下是更多详情:

  1. 我的计算机(运行Windows Vista)同时运行IIS和报告服务。
  2. 我是我机器上的本地管理员,但不是系统管理员。
  3. 我已根据this帖子配置了报告服务,以便自行访问(这似乎是一种非常常见的解决方案)。但即使这样做,我也无法在没有以管理员身份运行IE的情况下看到报告管理器。
  4. IIS只为所有网站启用了DefaultAppPool的匿名身份验证,我不确定应该和不应该启用什么。 DefaultAppPool是集成管理管道模式,NetworkService设置为标识。
  5. 我不确定VS上是否有一些我需要更改的设置。
  6. 我有一个实现IReportServerCredentials接口的类(根据网络上的很多示例)来连接到报表服务器
  7. 我试图在网上和stackoverflow上查看,我从这些解决方案中尝试了很多东西,但似乎没有任何帮助。

    如果有人可以提供帮助,那会很棒。如果我需要在问题中添加更多详细信息,请与我们联系。

1 个答案:

答案 0 :(得分:2)

我的工作是:

  1. 关闭UAC,现在让我可以查看报表管理器而无需以管理员身份运行IE
  2. 创建了一个在网络服务下运行并在该应用程序池下运行应用程序的新应用程序池
  3. 在网络服务帐户下运行Reporting Services。
  4. 希望它可以帮助别人。