2013-01-31 174 views
3

我试图让Excel 2010通过IIS 7.5连接到SSAS 2008多维数据集。我已经在IIS 7.5中设置了msmdpump,并且可以通过excel与url http://localhost/Excel/msmdpump.dll成功访问该多维数据集。这适用于Windows身份验证和基本身份验证。到现在为止还挺好。不过,我需要这样做才能使用自定义身份验证,因为我们将有数百个用户需要访问,他们的凭据将存储在SQL 2008表中。ssas自定义身份验证

我已经尝试创建一个自定义身份验证http模块,但它不被Excel调用。是否有可能创建一个http模块或其他的东西,当用户试图访问Excel中的多维数据集时,允许我使用自定义数据存储来验证用户身份?

P.S.在我对用户进行身份验证后,我将使用模拟功能通过Windows帐户连接到SSAS。

回答

2

我能够得到这个与http模块一起工作。该代码与Code Plex上的自定义基本身份验证模块非常相似。关键是我必须将应用程序池设置为集成模式。我将应用程序池设置为在Windows帐户下运行。如果用户凭据对SQL表格正确,我将值插入到xmla的customdata属性中,这样我就可以限制用户可以看到的内容。

+0

谢谢,这真的很有趣。我们已经在我们的环境中建立了SSAS数据泵,并且有数百个用户希望连接。我们也有自己的SQL用户目录表。您对我的身份验证方法感到满意,您如何控制他们有权查看的数据,看他们是否都将相同的Windows帐户模拟到多维数据集?我们测试了Dimension Data Security,除了仅支持Windows身份验证外,它看起来很理想。 – Michael12345

+0

在http模块中,我修改XMLA请求以包含CUSTOMDATA属性(http://technet.microsoft.com/zh-cn/library/ms145582.aspx)。我放入CUSTOMDATA属性的值然后用于限制他们可以看到的成员。看到这篇文章:http://richardlees.blogspot.com/2010/10/ssas-dynamic-security.html。文章中使用的UserName()可以用CustomData()换出。 –