4

我们有一个 BI 团队,他们创建了一个出色的数据仓库,内部员工可以通过内部网络上的 Excel 使用它。他们通过域控制器使用 Windows 身份验证,一切正常,包括限制对用户和 AD 组的访问。

问题是我们现在希望为不属于我们的 Windows 域的更广泛的受众提供相同的访问权限。由于需要访问系统的用户的信息已经存储在另一个位置(带有 SQL 数据库的应用程序),这使情况变得更加复杂。

目标是让他们连接(可能使用 HTTPS)到多维数据集(使用 Excel 分析服务集成),并使用他们在主应用程序中拥有的用户名/密码进行身份验证。

主应用程序有一个用于用户身份验证和会话管理的 WCF 服务接口,所以我真正需要的是一种在 MSMDpump.dll 前面针对该 WebService 提供身份验证的方法。我们还可以添加角色映射,以便我们可以针对应用程序中的用户定义 SSAS 角色。

我在想我可以创建一个与 MSMDPUMP.dll 具有相同接口的 dll,并在客户端和主 dll 之间转换调用,但这似乎有点矫枉过正。

是否有任何预先构建的工具可以做到这一点?(是的,我知道 Sharepoint 可以做这样的事情,但这不是一个选项,所以请不要建议它)。有没有人知道任何详细说明如何做到这一点的博客?

从哪里开始在两者之间创建接口的任何指针?

问题类似于如何保护 MS SSAS 2005 以通过 Internet 进行 HTTP 远程访问?但是,我正在考虑从另一个数据源提供身份验证机制,并将角色提供给 SSAS,而不是用户。我们不想为在外部应用程序中设置的每个用户都在 SSAS 中设置一个新用户。

更新:需要明确的是,他们的外部用户需要使用 Excel 连接到多维数据集,并且返回的数据需要根据他们所在的角色和多维数据集中应用的安全性进行过滤。如果有帮助,我们可以更改多维数据集以使用 Dynamic Dimension Security 并使用 CustomData 属性。

4

2 回答 2

1

最终的解决方案是第三方控制和动态维度安全的结合。

我们发现,如果不付出很大的努力,就不可能轻松地将 MembershipProvider 接口应用到 MSMDPUMP 接口,因此我们的解决方案为他们提供了一个 Web 接口来代替使用。

我们使用的控件是 DevExpress 的,是他们的“PivotGrid”控件。它不是免费的,但比实施任何其他定制解决方案的开发资源成本要低得多。

除了控件,我们还对多维数据集应用了动态维度安全性,因此站点的每个用户都将有一个专用的多维数据集连接字符串,并将“自定义数据”附加到连接字符串。这允许我们将数据分离任务委托给 Cube 和 BI 团队,并让 Web 开发人员专注于控件的显示。

该解决方案运行良好,并且不涉及像 Sharepoint/Excel Services 这样的重量级应用程序。它可以直接内置到您的网站中并根据您的需要进行品牌化,提供销售工具以及有用的功能工具。

于 2012-12-21T11:42:45.033 回答
0

您可以在多维数据集数据库上创建一个访问受限的用户(只读,仅用于相关多维数据集等)并将该用户/密码硬编码到应用数据库上的连接字符串中吗?

于 2012-06-07T22:01:27.283 回答