2010-09-01 23 views
4

我們正在考慮使用WIF對用戶進行身份驗證,因此我已經開始收集關於如何以正確方式執行此操作的一些信息。主要是我們應該如何創建STS。我很難找到關於我們的場景的一些信息,我們有一個「主要」服務,供內部和外部客戶使用。WIF身份驗證方案。 STS實施問題

內部客戶端將使用TCP連接到服務。我們員工使用的桌面客戶端應使用其域憑據(Active Directory)向服務進行身份驗證。除此之外,我們有少量使用該服務進行數據處理的應用程序。我們想向這些應用程序頒發證書。然後他們將使用該證書通過STS進行身份驗證,並返回包含該應用程序聲明的令牌。那可能嗎?

外部客戶端將通過HTTP進行連接,使用用戶名/密碼(Web客戶端)進行身份驗證,或通過類似上面提到的證書進行身份驗證。

這是一個有效的場景嗎?你將如何在WIF中實現這一點?你能給我指出一些你認爲會有幫助的文章嗎?我可以通過單個STS(WCF)解決這個問題還是需要多個解決方案?單個STS可以處理多種類型的憑證(AD /用戶名/證書)嗎?

預先感謝您。任何幫助都感激不盡。

+0

你有沒有找到一個很好的解決方案呢?我們正在嘗試做同樣的事情(儘管使用WIF 4.5)。 – EdenMachine 2012-07-12 14:09:31

回答

5

是的,這可以很容易地使用WCF和WIF來完成。您只需要一個STS實施或服務,並擁有三個WCF端點。一個帶有Windows身份驗證的net.tcp端點,一個使用證書進行身份驗證的端點(這可能是X509客戶端憑據的消息安全性或X509憑據的Http傳輸安全性),另一個端點是用戶名和密碼。你可能想看看Dominick Baier的STS入門套件,我想他已經在那個項目中提供了一個實現。

這是一個與兩個端點如下露出STS服務的問題,

如果您使用WIF,則不需要ADFS。 ADFS是與AD集成的聯合解決方案,並在其上安裝STS。您可以始終實現您自己的STS並在綁定配置中公開用於Windows身份驗證的附加端點

謝謝 Pablo。

+0

謝謝。很高興確認事情:-)你能否給我一些關於證書部分的更多細節?我對此不甚瞭解,而且似乎也找不到任何有關它的文章。對於Windows身份驗證端點,我應該使用ADFS嗎? – 2010-09-02 19:11:55