我们正在构建一个使用MS SQL Server Analysis Services 2005进行某些报告(尤其是OLAP多维数据集浏览)的托管应用程序。由于它被设计为供大型全球组织使用,因此安全性很重要。
似乎Microsoft首选的用于浏览OLAP多维数据集的客户端工具是Excel 2007,并且整个基础结构都围绕Windows Integrated Authentication。但是,我们正在尝试构建一个面向Internet的Web应用程序,并且不想为每个用户创建Windows帐户。
似乎还没有很多不错的基于AJAXy基于Web的OLAP多维数据集浏览工具(快速,拖放式的尺寸,对动作的支持,跨浏览器等)。此外,我们目前正在使用Dundas OLAP Grid但也考虑过RadarCube和其他更昂贵的商业解决方案,并且仍在考虑采用CellSetGrid并进一步开发它-如果您知道任何其他便宜/开放式解决方案,请告诉我!
因此,我们计划提供两种访问多维数据集数据的方式:
通过我们自己的Web应用程序,使用这些第三方基于Web的OLAP浏览工具之一。 当Web版本太慢/笨拙或用户需要更强大的分析功能时,可以通过msmdpump.dll数据泵通过HTTPS从Excel直接访问。 对于Web应用程序的访问,与SSAS数据源的连接是通过Web服务器进行的,因此我们可以很高兴地在“连接字符串”上传递一个CustomData项,以指示要连接的用户。由于我们可能拥有太多的权利组合,无法为其创建单独的SSAS角色,因此我们实现了动态维度安全性,该动态维度安全性将“多维数据集用户”维度与连接字符串中的CustomData项目结合使用,并限制了其他各种维度成员的允许集相应地(通过与包含“权利映射”的度量值组的其他多对多维度关系)
请参阅有关维度安全性的Mosha:http : //www.sqljunkies.com/WebLog/mosha/archive/2004/12/16/5605.aspx
到目前为止,这一切似乎都很好。
对于Excel中的“直接连接”,我们为HTTP访问设置了数据泵(请参阅MS Technet文章),但是启用了匿名访问,由于我们没有Windows帐户,因此再次依赖于Connection String来控制访问。但是,在这种情况下,连接字符串由用户控制(我们从Web应用程序推送了一个.odc文件,但是好奇的用户可以查看和更改它),因此我们不能依靠用户来保持良好并保持CustomData =grunt@corp.org从更改为CustomData=superuser@corp.org。事实证明,这也会引起与角色相同的问题,因为如果您不使用Windows集成身份验证,这些角色也会在连接字符串上指定。
因此,问题归结为:是否有一种方法可以在没有Windows帐户的情况下在IIS中获得基本身份验证,使得它可以与SSAS数据泵一起使用,以让SSAS知道正在连接的用户,因此动态维度安全可以成功使用?
(这是我关于StackOverflow的第一个问题,可能是我曾经问过的最复杂的问题:让我知道我对自己的解释不够好,我将尝试澄清)
如果本地帐户位于其他计算机上,则基本身份验证将与本地用户帐户(非域)一起使用,甚至支持直通身份验证,但是,由于基本身份验证以明文形式发送密码,因此您应强制使用SSL。
您可以在带有附加项(例如http://www.codeplex.com/CustomBasicAuth)的 IIS中使用具有基本身份验证的非Windows帐户,但是SSAS仍需要知道该用户是谁,据我所知,SSAS仅使用Windows身份验证。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。