2012-11-27 26 views
2

請假設有兩個服務器:認證可能性

  • 服務器回答:Windows 2012,IIS8,ASP.NET 4.5
  • 服務器B:安裝Windows 2012,IIS8,ASP .NET 4.5,活動目錄

這兩個服務器由不同的組織擁有和管理,並且Server-B上的Active Directory沒有權限也沒有涉及Server-A。

基於此,是否可以在Server-A上使用Windows身份驗證來驗證訪問Server-B的用戶?我會假設沒有,但顯然不完全確定。

我已經設法在Server-B上編寫代碼來讀取當前已通過身份驗證的用戶的屬性(例如employeeID),但需要將它們傳遞給Server-A進行處理(這可能最終會作爲單點登錄機制)。除非有更好的方法,當然你可能想分享?

回答

1

我以下面的方式來實現這一點。可能有更好的方法,但是這一次是安全的,因爲我可以得到它:通過Active Directory

  1. 用戶登錄到服務器B
  2. 用戶訪問的「認證」頁面託管在服務器B
  3. 頁面看起來他們的AD僱員,並在cookie
  4. 的用戶轉移到服務器上的Web應用程序在服務器A A
  5. 的Web應用程序看到加密的cookie和密碼進行解密,檢查前一頁位於上對其進行加密客戶IP地址
  6. 的Web應用程序登錄的用戶在與加密的cookie

的接口已在服務器B上創建使用僱員ID,從而當一個僱員值被更新,這種變化被鏡像到服務器A,使得EMPLOYEEID值留同步。

0

您可以使用Forms身份驗證和AD授權提供程序。

http://msdn.microsoft.com/en-us/library/ff650308.aspx

+0

此過程需要通過表單身份驗證輸入的用戶名/密碼進行AD檢查。我試圖避免用戶通過Server-A上的表單登錄,因此允許Server-A和Server-B「共享」認證票證。 – EvilDr