0

我有一个托管在 IIS Web 服务器中的 ASP.NET 页面。此页面只是创建一个连接字符串并打开一个连接。我想为数据库连接传递客户端身份,因为我的数据库存储过程正在使用 current_user 执行各种任务(典型的客户端-服务器架构)。

在开发环境中:当我在我的开发机器上从 Visual Studio 运行此页面时,一切正常,数据库连接以我的 Windows 身份打开。而且存储过程中current_user的值也是我自己。在连接字符串中,我可以看到自己正在通过身份验证。

问题:在部署服务器上,服务器机器帐户发生上述身份验证,因此登录失败。我以某种方式希望使用客户端凭据进行连接,以便 SP 中 current_user 的值始终是打开页面的用户。

请帮助我,如果有任何其他问题,请告诉我。提前致谢。

4

1 回答 1

1

在您的 web.config 上使用模拟将解决此问题。

将以下行添加到您的 web.config 文件

  <identity impersonate="true">

下面的链接解释了模拟的详细信息以及它如何影响您的 Web 应用程序 http://msdn.microsoft.com/en-us/library/aa292118(v=vs.71).aspx

在 Visual Studio 中运行应用程序时,它使用 IIS 以外的 Web 服务器来运行 Web 应用程序。此 Web 服务器将始终使用登录用户的身份。当您将应用程序部署到 IIS 时,当模拟设置为 false 时,应用程序池标识将用于 SQL Server 访问。模拟的默认值为 false。

于 2012-05-13T05:41:18.520 回答