2012-12-21 193 views
1

我們已經爲應用程序構建了一個WCF服務,並且使用WSHttpBinding一切正常。我們現在已經被要求確保Web應用程序 - > WCF - >數據庫之間的通信是安全的並且被要求使用SSL。除此之外,他們要求我們確保WCF服務不能被其他應用程序訪問。wcf和安全,身份驗證和ssl

如果我們設置SSL,是否阻止其他人嘗試進入,或者我們仍然需要在服務上設置clientCredentialType設置?另外,整個應用程序(網站,wcf,db)將位於公司的網絡中,因此如果我們設置clientCredentialType =「Windows」使用哪個帳戶,WCF如何知道允許網站與其交談,哪個Windows帳戶是他們使用,還是這個我們需要設置的帳戶?

謝謝。

回答

2

SSL與認證或授權無關。 它有兩件事:

  • 防止第三方攔截您的流量。
  • 驗證人們是誰他們說他們是誰。

需要通過某種認證/授權機制來處理「確保WCF服務不能被其他應用程序訪問」的需求。您可以根據您的需要使用Basic或Windows。

由於您在公司的網絡中,我會嘗試使用Windows身份驗證。這將迫使客戶端通過您的域進行身份驗證,但是您看起來並不想讓任何域用戶擁有訪問權限。在這種情況下,您需要設置基於角色的授權或基於用戶。無論是戰爭,您都可以將Web.config文件放入與WCF服務端點相同的文件夾中,以指定授權的帳戶。其他用戶將看到401未經授權。

這是我採取的一般方法。