2012-06-27 27 views
0

我的Web appkication具有以下設置..託管在IIS7在IIS上運行的WCF應用程序使用什麼身份?

  • WCF應用
  • 基本HTTP綁定 - SECURITYMODE = TransportCredentialOnly和ClientCredentialType = Windows操作系統。
  • .Net 4.0
  • 該應用程序使用「ApplicationPoolIdentity」在.Net 4.0應用程序池中運行。
  • IIS使用「應用程序通過」身份驗證連接到文件系統。
  • 客戶端和服務都在IIS下運行 - 即客戶端是webste,服務是IIS託管的WCF服務。

我想知道的是,在驗證過程中使用服務的用戶帳戶也被用在各個點上。

  • 我明白ApplicationPoolIdentity是一個內置在爲每個創建的應用程序池所產生的Windows帳戶 - 這是在其下的w3wp.exe將爲網站運行的帳戶?

  • 在clent和server之間沒有指定證書 - 這是最有趣的一點。當我的客戶端連接到我的WCF應用程序時,使用什麼身份驗證服務。我認爲應用程序池託管客戶端網站的應用程序池標識?

  • 如果是這樣,那麼如果兩個站點使用兩個不同的應用程序池會發生什麼?

  • 或者該服務只需要一臺機器(或域)上的有效帳戶,並且足以進行身份​​驗證?

  • 如果我更改了應用程序池以使用特定的用戶帳戶,這會改變什麼嗎?我再次假定只要客戶端通過一個有效的機器帳戶是好的?

而且,,,

  • 用於文件系統是什麼身份?

  • 「ApplicationPoolIdentity」對計算機和文件系統有什麼權限。

  • 最後在SQL Server集成安全性的情況下,如果我的服務與SQL Server數據庫進行通信,那麼標識傳遞給SQL服務器的身份。

在此先感謝。

回答

1

我明白ApplicationPoolIdentity是一個內置在Windows中爲每個創建的應用程序池產生 賬戶 - 這是 其下的w3wp.exe將爲網站運行的帳戶?

是的。這就是所謂的虛擬帳戶允許IIS爲每個定義的應用程序池創建唯一帳戶,也有安全標識創建代表應用程序池名稱。請記住,這不是真正的用戶帳戶。有關它的更多信息,你可以查看以下鏈接:http://technet.microsoft.com/en-us/library/dd548356.aspx

沒有憑據克倫特和服務器之間的規定 - 這是 最有趣的一點。當我的客戶端連接到我的WCF 應用什麼標識用於身份驗證的服務。我 假設託管客戶 網站的應用程序池的應用程序池標識?

是的,同樣的規則適用於使用本地服務帳戶或網絡服務帳戶。

如果是這樣,那麼如果兩個網站使用兩個不同的應用程序池 會發生什麼?

沒有,除非您提升這些應用程序池標識的權限。

或者該服務只需要一臺機器上的有效帳戶(或 域),並且足以進行身份​​驗證?

然後,您不打算使用爲您的應用程序池創建的默認虛擬帳戶。相反,您會將這些應用程序池與現有的Windows帳戶相關聯。請記住這些Windows /域帳戶擁有哪些權限。

如果我改變了應用程序池以使用特定的用戶帳戶,那麼 這個改變是什麼?只要客戶端通過一個 有效的計算機帳戶是一次OK我相信?

只要這些帳戶具有根據您的需求的權限,它就會正常工作。

用於文件系統是什麼身份?

定義你的文件系統是什麼意思更多細節;你是否在你的應用程序目錄中嚴格提到?

「ApplicationPoolIdentity」對計算機 和文件系統有什麼權限。

ApplicationPoolIdentity是用戶和IIS_IUSRS組的成員,因此將「繼承」前面提到的組的權限。

在最後如果我的服務談判的SQL服務器 數據庫 通過傳遞到SQL服務器什麼身份的SQL Server集成安全性的情況下。

ApplicationPoolIdentity或您配置爲由您的應用程序池使用的帳戶。

+0

文件系統 - 是應用程序目錄。 ApplicationPoolIdentity在我的SQL服務器中有什麼訪問權限?我還沒有分配一個特定的用戶,但是當使用這個配置時,它似乎有足夠的權限來執行大部分操作。 – Remotec

+0

這是你的SQL配置的問題。 –

相關問題