0

我有 WCF 服务项目,它连接到 SQL Server 2008 来执行插入、更新、删除和选择等操作。在 IIS 上,我希望使用存储在服务器注册表中的专用系统帐户连接到 sql server。我在我的 WCF web.config 中使用以下代码从服务器的注册表中获取用户 ID 和密码

<System.web>
<identity impersonate="true"      userName="registry:HKLM\SOFTWARE\MY_SECURE_APP\acctopsmain\ASPNET_SETREG,userName" password="registry:HKLM\SOFTWARE\MY_SECURE_APP\acctopsmain\ASPNET_SETREG,password" />
</system.web>

我收到用户“域\服务器名”错误消息的登录失败

IIS 服务器上的身份验证级别是匿名身份验证

任何帮助,将不胜感激。谢谢,瑜伽士

4

1 回答 1

0

我不知道这是否是一个好方法,但是我使用以下步骤来解决我的问题。

<system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="True">
    </serviceHostingEnvironment>
    <services>
      <service name="Service" behaviorConfiguration="ServiceBehavior">
        <endpoint address="" binding="basicHttpBinding" contract="IService">
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="ServiceBehavior">
          ........some othere setting
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>

在system.web下添加我我使用如下代码

<system.web>
   <authorization>
        <allow users="?"/>
      </authorization>
  <identity impersonate="true"      userName="registry:HKLM\SOFTWARE\MY_SECURE_APP\acctopsmain\ASPNET_SETREG,userName" password="registry:HKLM\SOFTWARE\MY_SECURE_APP\acctopsmain\ASPNET_SETREG,password" />
</system.web> 

在我添加的 Service.vb 类上

<AspNetCompatibilityRequirements(RequirementsMode:=AspNetCompatibilityRequirementsMode.Required)> _
Public Class Service Implements IService
于 2014-02-05T12:17:19.260 回答