在IIS站点中Adomd.net集成认证账号问题

最近在做一个Asp.net项目的时候 ,在C#代码里面用到了Adomd.net去连接SSAS服务器做MDX查询,开发完成后将Asp.net代码部署到IIS后发现Adomd.net老是连接不到SSAS服务器抛出异常。由于我们的Web站点服务器和SSAS服务器都是在同一个域环境下,所以按道理来说Adomd.net是可以用windows集成认证方式直接连接到SSAS服务器的,但是后来跟踪代码发现Adomd.net居然是用Anonymous的匿名账号去连接到SSAS服务器,很显然匿名账号默认是不允许访问SSAS服务器的所以Adomd.net的连接请求被SSAS服务器拒绝了。

 

但是经过检查IIS中Web站点所用的应用程序池的执行账号已经设置为域环境中的Administrator账号了,按道理说这时候Asp.net代码中如果用windows集成认证去连接SSAS服务器应该就是用的应用程序池的执行账号Administrator才对。但是通过异常跟踪发现Adomd.net是用的Anonymous这个匿名账号去连接SSAS的。

 

最后发现原来在IIS中除了应用程序池可以配置执行账号外,还有一个地方可以配置执行账号,就是站点的Physical Path Credentials(物理路径执行账号)设置。如果你在Asp.net代码中通过IO流去读取或写入了服务器上的文件,那么就是用Physical Path Credentials设置的账号去访问服务器上的文件,默认情况下Physical Path Credentials没有设置值,就是用的Anonymous匿名账号!下图中将IIS站点的Physical Path Credentials也设置成了域管理员账号Administrator。

 

将Physical Path Credentials也改为Administrator后,Adomd.net就是用的Administrator这个账号去连接SSAS服务器了,成功连接到了SSAS服务器上。这不得不说Adomd.net的windows集成认证方式有点奇怪,因为按照常理Asp.net站点一般都是用应用程序池的执行账号去做数据库连接的windows集成认证的,但是Adomd.net居然是用Physical Path Credentials(物理路径执行账号)的设置账号去做windows集成认证的,如果不知道这一点Asp.net站点会一直使用Anonymous匿名账号去连接SSAS服务器。。。

 

转载于:https://www.cnblogs.com/OpenCoder/p/5087950.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值