簡體   English   中英

將令牌/ cookie傳遞給WCF服務的最佳策略?

[英]Best strategy to pass a token / cookie to a WCF service?

我們正在.net 4.0上使用WCF構建Web服務。 該服務將主要由ASP.net MVC前端使用,但也將由.net Windows應用程序使用。

由於我們不想保存用戶憑據,所以提供的基本用戶名/密碼auth不會這樣做,因此我考慮使用RNGCryptoServiceProvider.GetBytes()進行一次身份驗證並創建一個簡單的令牌(或者我應該將其稱為cookie?)然后使用它來驗證進一步的請求。

我已經研究了使用WCF進行安全性的各種常用方法,它們看起來過於復雜,特別是當我們想要做的只是將cookie傳遞給每個方法調用時。

將此cookie從WCF客戶端傳遞給我們的WCF服務的最佳策略是什么? 首選方法將盡可能與WCF的安全架構緊密結合。

到目前為止,我一直在使用自定義HTTP標頭自定義授權,但我不相信哪種方法更合適,如果有的話。

請記住,對於ASP網站,將為每個請求創建一個新頻道,同時它將在Windows應用程序上重復使用。

IMO有兩種方法可以做wcf安全,傳輸或消息傳輸。

您可以在應用程序中實現用戶名類型身份驗證 因此,客戶端必須填寫用於發送消息的用戶名和密碼。 所以客戶端的綁定看起來像

<security mode="TransportWithMessageCredential"> 
   <message clientCredentialType="UserName"/>
</security>

在服務器端,您可以實現自己的密碼驗證程序,如此示例所示

這樣做會在服務器上驗證您的消息,您可以實現您想要的密碼驗證邏輯。 使用此消息將使用ssl加密,並使用您在服務端實現的邏輯進行身份驗證。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM