【问题标题】:Permissions issues with SQL 2008, Report Builder 2.0SQL 2008、Report Builder 2.0 的权限问题
【发布时间】:2011-01-11 23:38:28
【问题描述】:

所以这里有一些关于恐怖故事的背景:

  • Win 2003 SP2 64 位运行在暴露于外部世界以进行 Web 访问的 VM 上。
  • 安装了 Reporting Services (RS) 的 SQL Server 2008 Std SP2 64 位,用于本机模式(即非共享点模式)。
  • IIS 6 .NET 3.5 网站应用程序编写为使用来自 RS 的 Web 服务。该网站已设置为使用 Windows 身份验证,仅此而已。
  • 为了保存编写自定义身份验证,因为我在此演示中不需要它,我在 Win 2003 中设置了一个本地帐户,即 servername\myDemoUser,有效地允许伪造 Windows 身份验证。
  • Default.aspx 列出 RS 上的文件夹以及每个文件夹中的报告。它还有一个链接到服务器上的 Report Builder 2。
  • rsreportserver.config 已更改,因此唯一的 ,因为 无法工作,因为它位于 Internet 上,并且用户不会在同一个网络上(因此本地帐户 myDemoUser) .
  • 网站应用程序的 url 格式为:http://mysite.mydomain.co.uk/,其上指向报表生成器的链接格式为:http://mysite.mydomain.co.uk/services/reportbuilder/reportbuilder_2_0_0_0.application,在这种情况下,RS 已配置,因此 Web 服务虚拟目录为“services ”。
  • 对于访问 RS Web 服务的 ASPX 页面,网站应用程序的 web.config 已设置为 使用相同的东西,也允许匿名用户。

因此,在完成上述所有操作后,我从一台不在网络上的机器访问该站点,IE8 提示我输入用户名/密码,然后我输入 servername\myDemoUser 和正确的密码。主页显示并正确显示来自 RS 的文件夹和报告列表。 但是如果我单击 RS 报告生成器链接,我会看到弹出窗口说它正在执行它的 clickonce 验证内容,但几秒钟后它会显示简单的消息框,说明存在验证错误。然后详细信息按钮会显示一个包含一堆堆栈跟踪内容的文本文件,其中最终表明服务器在访问上述 .application 文件时返回了 401。

我为 Win 2003 VM 上的登录打开了失败审核,我可以看到,当 clickonce 失败时,它正在尝试使用我在外部(到我的网络)机器上登录的本地机器帐户,而不是我的凭据测试时输入该机器上的浏览器。

大量谷歌搜索和授予网络服务、每个人等的权限...在以后涉及的各种文件夹上,由于权限或使用不正确,报表生成器位不会通过 clickonce 安装。

我正在考虑是否可以更改 RS 中的某些内容,以尝试将报告生成器的权限授予匿名但此时我非常悲观,我实际上会找到任何东西。令人讨厌的是,这是一个不代表最终结果的测试(我们将在 RS 中使用自定义身份验证)但不幸的是我必须这样做,8(。

任何想法都将不胜感激。

【问题讨论】:

    标签: sql sql-server-2008 ssrs-2008 report builder


    【解决方案1】:

    事实证明,当以这种方式使用虚假 Windows 身份验证时,当您从尚未登录域的计算机访问站点时,clickOnce 将无法工作,因为它不会传递您输入的详细信息进入浏览器。

    所以解决方案是: 1) 在要访问您网站上的 clickonce 链接的机器上登录(任何)域。

    2) 在控制面板中转到用户帐户 (XP)/存储用户和密码 (Win 2003),管理用户 (XP) 的网络密码并添加 URL、用户名和密码。 每当针对此 URL 触发 clickonce 时,它​​都会传递指定的用户名/密码,而不是本地计算机帐户。

    以上两种方法都可以解决这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-27
      相关资源
      最近更新 更多