我有一个ASP.Net应用程序,它利用SQL Server存储过程和使用Windows身份验证的Web服务。这个想法是使用登录用户凭证来调用Web服务(这是至关重要的,因为Web服务使用认证凭证来分配创建或更新的记录的所有者)并执行存储过程。Web应用程序工作在VS开发服务器,但不工作在IIS
当我使用VS.Net集成web服务器时,结果很好(可能是因为此服务器在当前登录的用户帐户下启动)SQL Server SP返回预期结果(即使从查询分析器执行它们时)并且Web服务凭据已正确设置为当前登录的用户。
但是,当我在本地IIS中托管应用程序时,它并不像预期的那样工作。 Sql Server存储过程返回EMPTY数据集,Web服务凭据设置为空。
我使用
myService.Credentials = System.Net.CredentialsCache.DefaultCredentials
博特Web服务主机的虚拟目录,我的应用程序虚拟目录中的IIS目录安全性使用Windows身份验证。
任何人有任何想法???
我的环境是:运行在VS 2008,SQL Server 2008,IIS 6.0的Virtual PC上的Windows Server 2003。 IIS在本地系统帐户下运行 – 2010-07-06 07:22:03
应用程序池标识为网络服务 – 2010-07-06 07:38:20
允许域或ASP.Net用户访问该数据库,在数据库权限下 – 2010-07-06 07:46:06