2

我正在尝试测试我在 C# 中创建的 .Net 2.0 Web 服务。我们的其中一台服务器在 windows 2000 上,目前只能支持 .Net 2.0 。我可以在我的机器上本地测试它,它工作正常,但是当我将它移动到目标服务器进行生产时,它会产生错误。

我希望它使用 Windows 身份验证,并在 web.config 中对其进行定义

我收到的错误如下:

System.Data.SqlClient.SqlException:用户“”登录失败。用户未与受信任的 SQL Server 连接关联。

当我尝试在目标服务器上测试此 Web 服务(在该服务器上本地运行)时,会发生这种情况。

如何将活动目录用户名与 Web 服务正在运行的服务器/位置相关联(我认为这是我需要做的?)

该服务器目前可以通过经典的 ASP 和 ColdFusion 连接到 MSSQL 2005。

4

2 回答 2

2

如果您在 IIS 中托管,则需要设置运行 Web 应用程序的应用程序池的标识。请注意,您选择的用户需要访问作为服务登录的权限,以及其他一些内容。如果用户配置稍有错误,您可能会得到“500 服务器不可用”,因此请谨慎操作。另请注意,您需要完全回收应用程序池才能重试!

(编辑)-找到我的记事本;-p

  • 将帐户添加到“作为服务登录”策略组(本地安全策略(本地安全设置)-> 用户权限分配)
  • 将帐户添加到“IIS_WPG”用户组(计算机管理 -> 本地用户和组)
  • 授予帐户“读取和执行”、“列出文件夹内容”和“读取”文件结构的权限(资源管理器 -> 属性)
  • 创建新的应用程序池,或更新现有池的用户帐户(Internet 信息服务 -> 应用程序池)
  • 为站点/应用程序设置应用程序池(Internet 信息服务 -> 网站)
于 2009-03-10T13:42:06.403 回答
1

我相信您在托管该网站的应用程序池中为网站(或服务)设置了用户。

打开 compmgmt.msc,然后转到服务和应用程序 -> Internet 信息服务 (IIS)

您可以在此处添加一个新的应用程序池,该应用程序池具有标识。然后,您可以通过右键单击您的站点 -> 主目录,将您的 Web 服务站点与应用程序池相关联,然后选择底部的应用程序池。

我可能忘记了其他一些事情,但我认为应该这样做。

于 2009-03-10T13:40:06.783 回答