IIS未将凭据传递给Web服务以进行数据库连接

时间:2017-05-19 20:23:29

标签: asp.net sql-server web-services authentication iis

我花了一整天努力解决这个问题。 我有一个新的Web服务,在同一解决方案中包含作为项目引用时工作正常。但现在我需要将它发布到我的本地IIS,以便其他人可以测试它。我已将正确的应用程序池应用于该站点。应用程序池设置为使用Intergrated管道并具有正确的活动目录标识。

配置文件中的连接字符串具有" integrated security = True"。

当webservice设置连接字符串时,它没有凭据,并且在打开连接时出现以下异常: "用户登录失败''。原因:尝试使用SQL身份验证登录失败。服务器仅配置为Windows身份验证。 [客户:]"

当我检查我的数据库服务器属性 - >安全 - >服务器身份验证,它具有" SQL Server和Windows身份验证模式"检查。

我还确认AD帐户也可以访问数据库。

我查看了各种其他帖子,但无法找到一个提供适合我的解决方案的帖子。我必须遗漏一些简单而且无法看到的东西。

我错过了什么?

这是我的配置文件:



<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.6.1" />
    <httpRuntime targetFramework="4.5.2" />
    <httpModules />
  </system.web>
  <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <modules />
  </system.webServer>
  <connectionStrings>
    <add name="CoreServices" connectionString="data source=localhost;initial catalog=CoreServices;integrated security=True;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
  </connectionStrings>
</configuration>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:0)

尝试将此行添加到您的web.config:

<authentication mode="Windows"/>

将其添加到您的<System.Web>标记中。

答案 1 :(得分:0)

该连接字符串不会导致该错误。尝试对应用程序代码中的连接字符串进行硬编码以进行故障排除。

答案 2 :(得分:0)

事实证明,连接字符串未从配置文件中检索到。我不得不重用另一个提供数据库访问的项目。它期待连接字符串位于应用程序设置部分。