2015-02-23 84 views
1

我期待託管WCF服務訪問在互聯網上一組有限的客戶,如這裏所描述WCF的用戶名/密碼認證:什麼是推薦的方式做在DMZ

Best way to secure a WCF service on the internet with few clients

我打算在此階段使用用戶名/密碼身份驗證(使用現有的成員資格基礎設施)以及傳輸安全性(即SSL)。

我想知道什麼是推薦的方法來處理身份驗證請求,當會員數據庫顯然是企業網絡的內部。

選項我正在考慮是:

  • 公共防火牆會做SSL卸載,然後DMZ服務器將反向代理請求到內部服務器WCF - 我假設的憑證將被保留,通過此方法傳遞,並且內部服務可以適當地使用成員資格提供程序來認證用戶。
  • 寫一個啞巴的WCF服務來坐在外部,這將使用自定義的用戶名/密碼認證。這將調用網絡內部的認證服務,以訪問會員資格。一旦證書被驗證,該調用將基本上被傳遞給實現所需功能的內部服務。

這兩個選項都可能嗎?他們中的任何一個都有什麼重大的利弊? (顯然反向代理是少了很多代碼...)

+0

我在這裏避免使用「最好」這個詞,你會得到更多的關於什麼以及你如何測量的評論,而不是實際的答案。 – abatishchev 2015-02-23 03:33:22

回答

0

我已決定使用第二個選項。我已經擁有防火牆內部的會員服務,所以我將創建服務以便坐在DMZ中並實施自定義UsernamePasswordValidator並使用它來調用會員服務以驗證憑證(然後沿着軌道執行自定義ServiceAuthorizationManager檢查角色/權限)。

假設證書正確驗證,服務會調用防火牆內部的主要服務來執行功能。

相關問題