2012-03-26 96 views
0

我需要說明如何在我的asp.net應用程序中應用域名登錄。域名登錄,asp.net

所以我有以下體系結構:三臺機器:一臺是工作的asp.net應用程序,另一臺是數據庫服務器,以及從最後一臺機器訪問應用程序。

我的應用程序應該像這樣工作:我正在從最後一臺機器訪問應用程序,它需要我的域名檢查它是否存在於用戶表中,它應該對我進行身份驗證。 但它只適用於應用程序在一臺機器上運行,而且我正在從同一機器訪問應用程序。它與web.config文件中的模擬連接使我只能訪問本地資源。

我發現在MSDN的一些文章,但他們過於複雜,應用和理解:

從這些文章中我知道解決方案應該使用kerberos,委託和模擬。但我不知道如何應用它。

我在我的應用程序中如何實現域登錄?你有一個很好的教程如何做到這一點?我必須只修改我的應用程序代碼或服務器配置(第二臺機器)嗎?

更新1

我記錄一些信息:

在我的機器:

System.Security.Principal.WindowsIdentity.GetCurrent().Name 

返回:myDomainName] [名爲myUsername]

System.Security.Principal.WindowsIdentity.GetCurrent().AuthenticationType 

返回:Kerberos的

在三臺機器架構:

System.Security.Principal.WindowsIdentity.GetCurrent().Name 

返回:IIS APPPOOL] [應用程序名稱]

System.Security.Principal.WindowsIdentity.GetCurrent().AuthenticationType 

返回:協商

回答

0

您需要設置ASP.Net使用Windows身份驗證和模擬(聽起來像你已經這樣做了)。然後,您需要爲kerberos委派設置Web服務器,並確保爲IIS和應用程序服務器配置了正確的spn。

它在2機器的情況下工作,因爲這裏沒有委託。這是需要kerberos的第二個認證跳躍。