在这里寻求一些帮助。我有一个连接到 SSAS 多维数据集的 ASP.NET 站点。这已经在各种 SSAS 版本中工作了十多年 - 最近的 SSAS 2014。网站设置为使用 Windows 身份验证,因此每个用户只能看到他们有权访问的内容。作为将 SSAS 数据库升级到 2017 的一部分,我还从 .NET 3.5 升级到了 .NET 4.7。我的 SSAS 服务器在单独的服务器上运行 - 而不是在 IIS 服务器上。似乎导致问题的代码非常简单:AdomdConnection olapCnn = new AdomdConnection();olapCnn.ConnectionString = ""Provider=MSOLAP;Data Source=ASServerName;Initial Catalog=SomeDatabase";olapCnn.Open();打开连接失败并显示“连接失败或超时”。如果我指向我的 SSAS 2014 服务器和数据库,它工作正常。如果我运行探查器跟踪,我可以在我的 SSAS 2014 实例上看到,我按预期使用我的凭据连接到 AS。但是,在我的 MSAS 2017 实例上,我可以看到有人尝试在 NTUserName 列中使用“ANONYMOUS LOGON”登录,并且 NTDomainName 为“NT AUTHORITY”。使用这些凭据,我无法连接是有道理的 - 但是,我不明白为什么它不像 MSAS 2014 实例那样获取我的凭据。这对我来说变得更加棘手。它实际上在我托管 IIS 的开发机器上工作 - 如果我从 VS 2017 调试或不调试启动项目,我可以打开连接并且探查器显示我的凭据,因此连接到 SSAS 所需的所有组件都安装在IIS/开发服务器。如果我在不使用 VS 2017 的情况下从开发/IIS 服务器上的浏览器连接到网站,Everthing 也可以正常工作。总结一下:从开发/IIS 机器,我可以连接到远程 SSAS 实例,并从另一台 PC 连接到开发/IIS 机器上的 IIS,它在尝试以匿名方式连接到 SSAS 2017 时失败。指向一个 SSAS 2014 实例,它可以在开发/IIS 机器和远程机器上工作。我在这里缺少什么?
1 回答
SMILET
TA贡献1796条经验 获得超4个赞
好吧 - 如果它在你的雷达上,最终是一种明显的解决方案,但我不知道这一点,所以浪费了无数个小时......这与.NET升级无关,而是我分开的事实MSAS 服务器到另一个虚拟机。问题是由于客户端必须执行 2 次跳转(从客户端 -> Web 服务器 -> MSAS 服务器)和用户帐户(服务帐户)需要使用“Kerberos 约束委派”进行配置(请参阅此 Microsoft 链接:配置分析服务和Kerberos 约束委派 (KCD) ) 何时在跳跃不止一次时传递用户凭据。我相信任何具有域安全知识的人都知道它 - 作为一个“简单”的开发人员,我没有 :( 我希望这能帮助其他人......
- 1 回答
- 0 关注
- 127 浏览
添加回答
举报
0/150
提交
取消