我们有一个 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 属性。