首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >赢得NT权限\匿名登录

赢得NT权限\匿名登录
EN

Stack Overflow用户
提问于 2015-07-23 11:47:10
回答 2查看 945关注 0票数 2

我让带有Integrated Windows authentication的asp网页应用程序检查了IIS并清除了匿名访问框。在高级windows身份验证中,我检查了Enable kernel-mode authentication

应用程序池运行管理域用户和集成模式。

当用户点击这个应用程序中的某个网页时,我可以从日志中看到域名用户名是发送到服务器的,而且我在Request.ServerVariables("AUTH_USER")中也有值。

一切都很好,应该是这样。我可以看到哪个用户访问应用程序。

现在,网页还访问SQL数据库。我有连接字符串,比如:

代码语言:javascript
复制
"Provider=SQLOLEDB.1;Integrated Security=SSPI;..."

但是,当我访问数据库时,我会得到以下错误:

用于Server错误“80040e4d”的Microsoft提供程序 登录失败的用户'NT权限\匿名登录‘。

我怎么能说,与sql服务器的连接是使用app池帐户而不是匿名的呢?

EN

回答 2

Stack Overflow用户

发布于 2015-07-23 14:27:30

我认为,如果您检查网站的配置文件中的标识标记,您会发现它的设置如下:

代码语言:javascript
复制
<identity impersonate="true"/>

在您的配置中,应该是:

代码语言:javascript
复制
<identity impersonate="false"/>

通过这种方式,您告诉iis不要冒充通过web远程登录的人,而是使用应用程序池中指定的帐户。

这里是一个简单描述主题的页面。

票数 1
EN

Stack Overflow用户

发布于 2015-07-24 12:51:16

经过两天的测试,我终于成功了。有两种形式的模拟:"identity impersonate=false“是用于在应用程序池中定义的用户或用户上下文中运行的应用程序。但是,还可以模拟应用程序池使用用户访问磁盘上的资源。它在基本设置和连接为。默认是通过身份验证。我不知道它与访问外部数据库有什么关系,但是在将其设置为同一个应用程序池的用户之后,现在一切都正常了。我希望它能对某人有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31586455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档