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