要管理使用表单身份验证的ASP.NET Web应用程序,我正在尝试使用ASP.NET为我们的生产环境设置“网站管理工具”,使用类似的步骤列出here列出的那些。我知道这不是推荐或支持的,但它不需要开发任何管理工具,并且足以满足我们的目的。
当我使用Visual Studio中的WSAT时,一切正常。但是,当我将其设置为IIS上的应用程序时,它并不尊重我设置的模拟设置。当它连接到支持目标应用程序的数据库(Integrated Security,SQL Server 2008)时,它只使用标准的ASP.NET用户帐户。
在浏览器上,WSAT网站本身会加载,但是当我导航到“安全”页面时,我收到错误:
Login failed for user '[ASP.NET user account]'
此用户未获得数据库权限,因此很清楚数据库登录失败的原因。我不清楚的是它为什么首先使用ASP.NET用户帐户。
已经为WSAT和目标应用程序设置了ASP.NET模拟(两者都是IIS上同一网站上的“应用程序”),但是当WSAT连接到数据库时,这显然没有被尊重。
如何解决此问题?
如有必要,我可以发布web.config
文件的相关部分。
编辑: 显然,我可以通过在数据库上允许ASP.NET用户,或通过构建自定义WSAT工具或使用其他人构建的工具(例如this one)来解决此问题,但我更愿意解决此问题通过修复假冒问题。