我有一个网站,IIS 6.0下正常工作:它会验证用户使用Windows凭据,然后跟那个打DB服务时,它传递的凭据。
在IIS 7.0,相同的配置设置不凭据传递和数据库获取与NT AUTHORITY \ ANONYMOUS命中。
是否有什么我失踪? 我已经变成匿名访问关闭在我的IIS 7.0的网站,但我不能得到的东西的工作。
这些是我使用的是IIS都6.0和7.0的设置:
<authentication mode="Windows">
<identity impersonate="true">
什么从6.0改为7.0?
已经有IIS7和IIS6.0之间变化。 我发现你一个博客贴子,实际上可能帮助你( 点击这里看它 )。
你运行在集成模式或经典模式应用程序? 从我所看到的,把模拟属性在真正应该显示你一个500错误,出现以下错误信息:
内部服务器错误。 这是HTTP错误500.19:请求的网页无法访问,因为该页的相关配置数据无效。
下面是建议解决办法:
解决方法:
1)如果您的应用程序不依赖于模仿中的BeginRequest和AuthenticateRequest阶段(唯一的阶段,其中模仿是不可能的集成模式的请求用户),通过添加以下到您的应用程序的web.config忽略这个错误:
<validation validateIntegratedModeConfiguration="false"
/>
2)如果您的应用程序依赖于模拟中的BeginRequest和AuthenticateRequest,或者你不知道,移动到经典模式。
我希望如何IIS 7.0现在可以说是了解有用的。
是您的IIS服务器设置为通过SQLServer的受信任的委派? 我已经使用WebDAV,我们已经不得不通过运行文件服务器信任代表了文件服务器的身份验证IIS服务器上运行到此之前。
有趣的...我有相反的问题- 不能够得到认证是从客户端浏览器的大型企业网络防火墙上中传递,通过网络服务器和到数据库。
我也觉得“端到端用户”身份验证数据库是一个坏主意和潜在的安全风险。 没有什么可以从装载了SQL查询并直接连接到数据库停止的最终用户,所以你最好有您的模式锁定!
@Esteban -澄清我不是在帮你回答非常有用的 。
通常,如果你正在做这样的双跳认证,Kerberos是通常涉及,除非第一个认证为基础。
我会检查IIS 6服务器上的身份验证,并确保它是在IIS 7相同。
如果IIS 6框设置为Windows集成,那么你就需要验证Kerberos设置 - 的SPN,代表团等。