2013-06-27 86 views
1

我希望爲Web服務提供安全性。我最初使用BasicHttpBinding與傳輸安全(SSL)和消息安全性(傳遞用戶名和密碼爲自定義用戶名密碼驗證)...WCF安全 - 使用用戶名密碼的傳輸級別安全性

但Web服務的消費者表示,他們不能添加標頭的SOAP消息安全細節..並表示他們希望通過該服務的溝通渠道。

是否可以使用WCF進行傳輸安全性自定義用戶驗證?我無法得到它的工作:(

有什麼建議?

感謝 尼爾

回答

3

我想你的消費者所要求的基本身份驗證,也就是說,在認證令牌的HTTP授權通過頭,而不是在SOAP安全頭的憑據的保密將僅由傳輸(HTTPS)來提供

此的結合配置是:。

<basicHttpBinding> 
    <binding name="HTTPSwithBasicAuthentication"> 
     <security mode="Transport"> 
     <transport clientCredentialType="Basic" /> 
     </security> 
    </binding> 
</basicHttpBinding> 

在客戶端,你設置憑據這樣

serviceClient.ClientCredentials.UserName.UserName = "username"; 
serviceClient.ClientCredentials.UserName.Password = "password"; 

假設您的服務託管在IIS,請記住要啓用基本身份驗證在IIS配置。

要執行用戶的實際授權,您可以實施自定義ServiceAuthorizationManager以包含您的授權邏輯。有很多關於如何在網絡上完成最後一部分的例子。

或者,您可以在標準的ASP.Net成員資格提供程序中進行配置,如果這適合您的應用程序。

http://msdn.microsoft.com/en-us/library/bb398990(VS.100).aspx