2011-01-26 6 views
2

У меня есть то, что я думал, что было бы вполне нормальным сценарием ...IIS7.5 аутентификации Sql Server 2008 r2 Войти

У меня есть -WCF Client -WCF служба, размещенная в AppFarbic в IIS7.5 -SQL Server 2008 r2

IIS работает с помощью App Pool Идентичность

я соединяюсь от клиента, используя следующий конфигурационный файл

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <system.serviceModel>  
     <client>    
      <endpoint 
       name="NetTcpBinding_IXXXService" 
       address="net.tcp://app02.xx.com/XXXService/XXXService.svc" 
       binding="netTcpBinding"     
       contract="XXXClient.IXXXService"> 
       <identity> 
        <servicePrincipalName value="host/app02.xx.com" />     
       </identity> 
      </endpoint> 
     </client> 
    </system.serviceModel> 
</configuration> 

IIS работает с использованием идентификатора пула приложений.

Я могу получить услугу для подключения к базе данных, если я создаю логин \ $.

При использовании идентификатора пула приложений это единственный способ подключения к базе данных с помощью проверки подлинности Windows?

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

Есть ли способ связать идентификатор пула приложений с логином базы данных?

EDIT: Когда я изменяю пользователю пула приложений будет еще один пользователь с доступом к базе данных я получаю ССПИ не удалось ошибка

+0

просто для того, чтобы немного разъяснить, является ли экземпляр сервера sql на том же сервере или другом сервере в качестве службы? – DForck42

+0

Нет разных серверов – KiwiInLondon

+2

«Нет разных серверов» (все на одном сервере) или «Нет, разные серверы» (SQL и IIS, по крайней мере, на отдельных серверах). Ваше отсутствие запятой делает значение настолько неоднозначным, что на вопрос не был дан ответ вообще. –

ответ

1

Пожалуйста, простите меня за удар в этом, когда я не знаком с WCF или AppFarbic. Хотя я немного разбираюсь в IIS и аутентификации на SQL-сервере на разных серверах.

  1. Можете ли вы подключиться к базе данных, если вы используете защиту от имени пользователя с паролем?
  2. Какой метод аутентификации вы используете на веб-сайте?
  3. Если вы пытаетесь использовать встроенную проверку подлинности Windows и ваш метод проверки подлинности в Интернете также интегрирован, вам необходимо использовать безопасность Kerberos в IIS, чтобы разрешить делегирование для второго хопа по сети SQL-серверу. Обычной безопасности NT недостаточно, потому что она может выполнять только олицетворение, что не позволяет этого. Получение делегирования на работу может быть болью в прикладе, но вам нужно изучить SPN, который вы используете, и убедиться, что он правильно зарегистрирован на SQL-сервере, а также возиться с IIS, чтобы убедиться, что Kerberos включен и фактически работает вместо этого это тихо скатывается к NTLM. Веб-сервер также должен быть «доверен для делегирования» в политике группы домена (при условии, что ваш веб-сервер соединен с доменом).
Смежные вопросы