2011-01-26 102 views
2

我有什麼,我以爲會是一個非常正常的情況下...IIS7.5驗證到SQL Server 2008 R2登錄

我有IIS7.5內AppFarbic主辦的 -WCF客戶 -WCF服務 - SQL Server 2008 R2的

IIS使用應用程序池標識

我從客戶端使用下面的配置文件

<?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身份驗證連接到數據庫的唯一方法嗎?

我認爲這是允許此機器上的網絡服務帳戶訪問數據庫。我還假定這也意味着任何運行的服務都可以通過網絡訪問數據庫?

是否有任何方式將應用程序池標識綁定到數據庫登錄?

編輯:當我更改應用程序池的用戶成爲另一個用戶訪問數據庫,我得到一個SSPI失敗錯誤

+0

只是爲了澄清一點,是SQL服務器實例在同一臺服務器上還是與服務不同的服務器? – DForck42 2011-01-26 22:44:04

回答

1

請原諒我以一個刺在這個時候,我不熟悉WCF或AppFarbic。雖然我知道一些關於IIS和身份驗證到SQL服務器在不同的服務器上。

  1. 如果您使用基於用戶名的安全性和密碼,您可以連接到數據庫嗎?
  2. 您在網站上使用哪種身份驗證方法?
  3. 如果您嘗試使用集成Windows身份驗證,並且您的Web身份驗證方法也已​​集成,則必須在IIS中使用Kerberos安全性以允許通過網絡將「第二跳」委派給SQL服務器。定期的NT安全是不夠的,因爲它只能做模擬,而不允許這樣做。獲得委派工作可能會讓人感到痛苦,但是您必須檢查您正在使用的SPN並確保它已在SQL Server上正確註冊,並加上IIS的混亂以確保Kerberos已啓用並實際工作正常它悄無聲息地回到NTLM。 Web服務器還必須在域組策略中「可信委派」(假設您的Web服務器已加入到域中)。
相關問題