2012-11-30 79 views
1

我繼承了現有的.net Web應用程序。它是外部用戶和內部用戶使用的外部網站。要登錄/驗證內部用戶,它使用LDAP驗證。外部用戶轉到不同的數據庫。現有.net Web應用程序需要更改身份驗證

我的IT部門想要改變內部用戶登錄的方式。他們不希望允許外部服務器使用LDAP訪問AD。是否有更安全的方法從外部服務器訪問AD?還是不推薦呢?

另外,登錄是否有缺陷的設計?內部和外部用戶是否應該以同樣的方式登錄?什麼被認爲是登錄用戶的最佳實踐?

+1

嘗試尋找到微軟ADFS(活動目錄聯合服務)。它允許用戶使用AD身份驗證在網站上登錄,而服務器和AD服務器之間沒有任何聯繫。還有一個ASP.net模塊可以集成到網站中。 –

+0

@ Jan-PeterVos我在讀這篇文章,聽起來像是打算通過外部客戶端的數據庫進行身份驗證。真的嗎? –

回答

2

您可以爲此使用ADFS(Active Directory聯合身份驗證服務)。

這將要求您在網絡內部安裝ADFS服務器(以便它可以聯繫AD)。

ADFS服務器包含基於Web的STS(安全令牌服務),允許網頁使用AD帳戶登錄。

Basicly簡而言之它會工作如下:

  1. 你的用戶導航到外部Web應用程序
  2. Web應用程序將用戶重定向到ADFS STS服務器。
  3. ADFS STS服務器將驗證您的憑證(通過使用集成安全性或基於Web的登錄框)
  4. 如果ADFS STS服務器很滿意憑據,則會將用戶重定向到外部Web應用程序登錄令牌作爲額外信息。該令牌包含有關用戶的信息(可以配置)。它由ADFS服務器簽名(以確保信息是真實的),並可以選擇加密。
  5. 外部Web應用程序提取令牌並測試簽名。如果全部正確,則Web應用程序將獲得用戶應具有的權限。

的信息在ASP.NET應用程序,您可以參考以下網址進行設置: http://blogs.msdn.com/b/alextch/archive/2011/06/27/building-a-test-claims-aware-asp-net-application-and-integrating-it-with-adfs-2-0-security-token-service-sts.aspx

相關問題