ADOMD.net模拟Windows用户ID

时间:2014-03-24 10:41:21

标签: asp.net vb.net impersonation adomd.net

我正在尝试连接到使用Windows身份验证的SSAS多维数据集

我的Web应用程序存储在单独的服务器上,SQL分析实例(简称ServerWebApp),SSAS多维数据集位于ServerCUBE

OLAPCon = New AdomdConnection("Provider=MSOLAP.4; roles=Administrator; Integrated Security=SSPI; Persist Security Info=True; EffectiveUserName=<Domain\Username>; " _
& " Initial Catalog=<DBName>; Data Source=<ServerCUBE>; ")

由于SSAS使用Windows身份验证,我试图通过指定EffectiveUserName来模拟我的Windows登录,但是,这似乎不起作用,因为我收到了以下错误:

Either the user, Domain\ServerWebApp, does not have access to the <DBName> database, or the database does not exist. 

正如您所看到的那样,它使用的是网络应用登录ID而不是我的Windows ID

如何在SSAS ADOMD连接字符串中模拟我的Windows ID?

2 个答案:

答案 0 :(得分:0)

当我使用EffectiveUserName时,这就是让我失望的原因。来自MSDN

  

要使用[EffectiveUserName]属性,调用者必须具有   Analysis Services中的管理权限。

答案 1 :(得分:0)

您需要先通过创建应用程序池来配置IIS服务器。然后,您需要将此池指向本地路径(C驱动器中的文件夹),该路径由msmdpump.dll和msmdpump文件组成。使用记事本编辑msmdpump文件(删除localhost名称并将其替换为SQL分析服务器名称)。提供服务器名称的用户名代替domain \ username。