2012-07-06 97 views
0

我們正在從舊的.NET 1.1遠程系統轉移到.NET 4.0 WCF體系結構。系統的一部分是一個桌面客戶端應用程序,我們正在使用這個應用程序來調用位於我們中間層的300多個函數。跨多個服務的WCF安全性

我們正在將這些遠程功能合併到9個服務中,但需要一種很好的方法來驗證用戶在任何其他後續WCF調用之前首先執行了「登錄」功能。

由於登錄只發生在其中一個服務上,我不確定是否有辦法在整個服務中「聯合」這個服務。 (所有都在同一臺機器上,同一個域中)。我們通過net.tcp公開服務,目的是在長期內允許外部客戶端綁定wshttp。 (不知道如果我得到一些額外的不同綁定,可能會有所幫助)

我想出的是承載一個持有身份驗證信息的單身人士。當用戶登錄被驗證並提交給「安全商店」時,我們會返回一個Guid返回給客戶端,以後續的WCF調用發送。

然後每個WCF調用將針對單身「安全存儲」進行驗證。

所以問題是......我可以使用WCF原生的東西來實現這個相同的目標嗎?

+0

既然你想要去與自定義基於令牌的身份驗證,看看我的答案在這裏,這幾乎涵蓋了你的問題:http://stackoverflow.com/questions/11349539/wcf-authentication-service-or-token-based-security/11350784#11350784 – 2012-07-06 22:22:27

+0

什麼你現在正在進行身份驗證嗎? – Paparazzi 2012-07-07 02:31:48

+0

我們對使用自定義類的數據庫使用salt和hash。但是這給了我一個想法,我們可能想要去用戶憑證路線。即使安全性決定我們需要執行令牌,我們也可以將該令牌作爲用戶憑證上的「密碼」來傳遞。我希望找到一種不會一次又一次回到數據存儲的方式,但是這會起作用。 (但是,如果它成爲性能問題,我們可以將它存儲在我們的「緩存」單例中)。謝謝! – Tojamismis 2012-07-07 03:17:20

回答

0

此表幫助secect結合enter image description here

有關安全,WCF有幾種類型的身份驗證, SecurityMode

要求具體化,在WCF安全性是很大的話題

+0

具體而言,我們需要仍然能夠對我們的數據庫今天的自定義驗證進行驗證。我們使用自定義的.net類來使用salt和hash。問題是,我們需要強制登錄成爲第一個電話,但是沒有我們通過單一服務獲得的「啓動」和「確定」的好處。 – Tojamismis 2012-07-07 03:11:04