最近在做一个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服务器。。。

最新文章

  1. 关于Jmeter分布式测试在公司内的使用
  2. To create my first app in iOS with Xcode(在Xcode创建我的第一个iOS app )
  3. [记录]ASP.NET MVC 2.0 如何使用Html.RadioButtonFor?
  4. 20145212 《Java程序设计》第8周学习总结
  5. ACM/ICPC 之 DFS求解欧拉通路路径(POJ2337)
  6. 2015弱校联盟(1) - C. Censor
  7. linux:习惯
  8. Math 对象的方法
  9. python数据分析师面试题选
  10. Java内部实现的观察者模式小记
  11. Double Strings Solved Problem code: DOUBLE
  12. javascript 数组部分
  13. iOS之内存分析
  14. 在Linux与Windows上获取当前堆栈信息
  15. js-使用JavaScript、jQuery两种方式实现全选/全不选
  16. Gearman研习笔记(1) ------ 官网介绍要点摘录
  17. Docker学习笔记 - Docker的简介
  18. java maven项目update project默认编译器1.5问题解决
  19. EHCache:Eelment刷新后,timeToLiveSeconds失效了?
  20. thinkphp5.0引入类

热门文章

  1. asp.net跳转页面的三种方法比较(转)
  2. js- 千分位分割
  3. 7、JavaScript总结——实现选项卡切换的效果
  4. 利用DBCC PAGE查看SQL Server中的表和索引数据
  5. 红帽Linux 配置VNC桌面远程工具
  6. python多进程(三种方法)
  7. gradient color
  8. SqlServer跨库查询
  9. (Abstract Factory)抽象工厂
  10. Leetcode: Guess Number Higher or Lower