【问题标题】:SSRS 2017 Web Portal Forms Authentication access IssueSSRS 2017 Web 门户表单身份验证访问问题
【发布时间】:2018-10-19 17:42:27
【问题描述】:

我已经使用 Microsoft 示例 (https://github.com/Microsoft/Reporting-Services/tree/master/CustomSecuritySample) 实现了自定义身份验证(基于表单身份验证)。

这是 SSRS/SQL Server 2017 的示例。在我的情况下,报告服务安装在 Web 测试服务器上,其域地址可从 Intranet 网络访问。数据库引擎安装在第二台服务器上。在 Web 服务器上,我们还安装了 IIS。

除了访问 Web Portal 之外,它看起来工作正常。 访问 Web 门户 (https://somedomain/reports) 时,我总是被重定向到 logon.aspx 页面,即使我已经通过身份验证(User.Identity.IsAuthenticated 返回 true 并且 User.Identity.Name 在 logon_aspx.page_load 上返回正确的用户名)。表单身份验证 cookie 已设置。当我通过身份验证时,我会从 Page_Load 返回,否则我会以无限重定向循环结束。

但我注意到我可以使用报告服务器服务访问报告(即https://somedomain/ReportServer):

我可以点击一个报告,它就会显示出来。

此外,我可以使用 SSMS 和表单身份验证连接到 Reporting Services:

我可以访问 Reporting Services 属性。所以我有完全的访问权限。 我正在使用具有所有权限的用户进行连接,即 Authorization.IsAdmin 始终为 true(请参阅示例中的 Authorization 类)。这个类实现了 IAuthorizationExtension。

但我注意到在访问门户网站时根本没有调用 Authorization.CheckAccess 方法!所以这可能是一个线索。仅调用 AuthenticationExtension 类中的方法。这是我在这个类中的自定义日志:

调用 SetConfiguration。
调用 GetUserInfo。
获取用户信息。设置用户身份。已验证:'True',类型:'Forms',用户名: 调用 SetConfiguration。
调用 GetUserInfo 2.
获取用户信息。设置用户身份。已验证:'True',类型:'Forms',用户名: 调用 SetConfiguration。
调用 GetUserInfo。
获取用户信息。设置用户身份。已验证:'True',类型:'Forms',用户名:

我已为 Reporting Services(也包括 HTTP)打开扩展日志记录,但没有错误。

我的本​​地机器上也有此示例的本地(开发人员)实现,它工作正常。我可以访问门户网站(尽管我已经测试过从本地访问它)。

所以这只发生在测试服务器上。这发生在 http 和 https(无论使用哪种协议)。

我还比较了本地版本和测试版本的日志,但没有发现任何有趣的东西。

因此,即使设置了表单身份验证 cookie,/reports 请求也会重定向到 logon.aspx:

如果我清除 cookie,我会收到更多请求,直到设置 cookie,但对 /reports 的最后一个请求应该是成功的(因为它在本地环境中),但在我的情况下,它会重定向回 l​​ogon.aspx。

我已经花了两天时间来解决这个问题(尝试了各种方法),但没有运气。 有人可以帮我解决这个问题吗?

附:对不起我的英语。

【问题讨论】:

    标签: reporting-services forms-authentication


    【解决方案1】:

    与您描述的情况类似,尽管在此之前一切都在 ssrs 2017 上运行!上次更新于 2018 年 9 月 12 日发布,版本 14.0.600.892,你瞧,它有效!!建议您尝试将 SSRS 2017 更新到最新版本。

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题,解决方案是在报告服务配置管理器中更改 Web 服务 URL 和报告管理器 URL,它们不应该相同,您必须访问的 url 必须是您配置的那个作为报告经理网址,对不起我的英语

      【讨论】:

        【解决方案3】:

        我已经解决了这个问题。我刚刚重新安装了 SSRS,这有帮助。所以看起来我的安装以某种方式损坏了。

        【讨论】:

          猜你喜欢
          • 2020-06-10
          • 1970-01-01
          • 1970-01-01
          • 2011-06-08
          • 1970-01-01
          • 2020-11-27
          • 1970-01-01
          • 2017-12-15
          相关资源
          最近更新 更多