Подключение к базе данных в WCF с использованием выделенной системной учетной записи, хранящейся в реестре сервера IIS

У меня есть проект службы WCF, который подключается к серверу SQL Server 2008 для выполнения операций, таких как вставка, обновление, удаление и выбор В IIS я хочу, чтобы подключение к серверу sql осуществлялось с использованием выделенной системной учетной записи, которая хранится в реестре сервера. Я использую следующий код в моем 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 - анонимная аутентификация.

Любая помощь будет оценена. Спасибо, йог

1 ответ

Решение

Я не знаю, является ли это хорошим подходом или нет, однако я использовал следующие шаги, чтобы решить мою проблему.

<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
Другие вопросы по тегам