【发布时间】:2010-07-06 07:18:39
【问题描述】:
我有一个 ASP.Net 应用程序,它利用 SQL Server 存储过程和使用 Windows 身份验证的 Web 服务。这个想法是使用登录的用户凭据来调用 Web 服务(这很关键,因为 Web 服务使用身份验证凭据来分配创建或更新记录的所有者)并执行存储过程。
当我使用 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 在本地系统帐户下运行
-
应用程序池标识是网络服务
-
允许域或 ASP.Net 用户在数据库权限下访问该数据库
标签: .net asp.net iis sql-server-2008 visual-studio