我有一个在IIS 6.0下正常工作的网站:它使用Windows凭据对用户进行身份验证,然后在与访问数据库的服务进行通信时,它会传递凭据.
在IIS 7.0中,相同的配置设置不会传递凭据,并且数据库会被NT AUTHORITY\ANONYMOUS命中.
有什么我想念的吗?我已经在我的IIS 7.0网站中关闭了ANONYMOUS访问权限,但是我无法使用它.
这些是我在IIS 6.0和7.0上使用的设置:
什么从6.0变为7.0?
IIS7和IIS6.0之间发生了变化.我找到了一篇可能真正帮助你的博客文章(点击这里查看).
您是在集成模式还是经典模式下运行应用程序?从我看到的,将Impersonate属性设置为true应该显示500错误,并显示以下错误消息:
内部服务器错误.这是HTTP错误500.19:无法访问请求的页面,因为页面的相关配置数据无效.
以下是建议的解决方法:
解决方法:
1)如果您的应用程序不依赖于在BeginRequest和AuthenticateRequest阶段模拟请求用户(在集成模式下无法模拟的唯一阶段),请通过将以下内容添加到应用程序的web.config中来忽略此错误:
/>
2)如果您的应用程序确实依赖于BeginRequest和AuthenticateRequest中的模拟,或者您不确定,请转到经典模式.
我希望这有助于理解IIS 7.0现在的工作原理.