[WCF安全系列]繫結、安全模式與客戶端憑證型別:總結篇
對於常用的幾種繫結型別,它們都支援怎樣的安全模式,以及針對各種安全模式可以採用怎樣的認證方式(通過客戶端憑證型別決定),這些都在前面的一系列文章中進行了詳細的介紹。接下來我們通過表格的形式對不同型別的系統預定義對不同的安全模式進行一下總結。
一、系統預定義繫結對不同安全模式的支援
下面的表格表示系統預定義繫結對不同安全模式的支援(WSHttpBinding與WS2007HttpBinding具有相同的安全模式支援策略,這裡僅僅列出了WSHttpBinding)。
BasicHttpBinding | WSHttpBinding | WSDualHttpBinding | NetNamedPipeBinding | NetTcpBinding | NetMsmqBinding | |
None | Default | Yes | Yes | Yes | Yes | Yes |
Transport | Yes | Yes | No | Default | Default | Default |
Message | Yes | Default | Default | No | Yes | Yes |
Mixed | Yes | Yes | Yes | No | Yes | No |
Both | No | No | No | No | No | Yes |
TransportCredentialOnly | Yes | No | No | No | No | No |
針對這個表格,我們可以看出:
- 所有的繫結都可以不採用任何的安全傳輸機制,即支援None安全模式;
- BasicHttpBinding的預設模式為None,WS相關的繫結預設模式為Message,而區域網相關繫結的模式模式為Transport;
- 除了NetNamedPipeBinding,所有的繫結都支援Message安全模式;
- 對於所有支援Message模式的繫結,除了NetMsmqBinding都支援Mixed模式;
- 除了WSDualHttpBinding,所有的繫結都支援Transport模式;
- 只有BasicHttpBinding支援TransportCredentialOnly模式;
- 只有NetMsmqBinding支援Both安全模式。
二、系統預定義繫結對不同Transport客戶端憑證的支援
接下來我們來比較一下對應我們之前介紹的這些常用的系統定義繫結在採用Transport安全模式下,對客戶端憑證型別集的支援有何不同。
BasicHttpBinding | WSHttpBinding | WSDualHttpBinding | NetNamedPipeBinding | NetTcpBinding | NetMsmqBinding | |
None | Default | Yes | – | No | Yes | No |
Basic | Yes | Yes | – | No | No | No |
Digest | Yes | Yes | – | No | No | No |
Windows | Yes | Default | – | Default | Default | Default |
Ntlm | Yes | Yes | – | No | No | No |
Certificate | Yes | Yes | – | No | Yes | No |
從下面的表格反映的資料我們可以看出:
- 三種基於HTTP的繫結(不包括不支援Transport安全模式的WSDualHttpBinding)支援所有型別的客戶端憑證(實際上客戶端憑證型別都是通過列舉HttpClientCredentialType表示);
- 除了BasicHttpBinding在預設的情況下None作為客戶端憑證型別(匿名客戶端)之外,其它繫結的預設客戶端憑證型別都是Windows;
-
NetTcpBinding支援三種客戶端憑證型別None、Windows和Certificate;
- NetNamedPipeBinding和NetMsmqBinding支援唯一的客戶端憑證型別Windows。
三、系統預定義繫結對不同Message客戶端憑證的支援
而不同的繫結針對於Message模式(或者Mixed模式)下的客戶端憑證型別的支援就非常清晰了。因為除了BasicHttpBinding採用BasicHttpMessageCredentialType列舉表示其支援的客戶端憑證型別之外,其它所有的繫結(不包括不支援Message安全模式的NetNamedPipeBinding)都使用MessageCredentialType表示客戶端憑證型別,並且。在Message模式下,不同型別的繫結對不同客戶端憑證型別集的支援反映在下面的表格中。
BasicHttpBinding | WSHttpBinding | WSDualHttpBinding | NetNamedPipeBinding | NetTcpBinding | NetMsmqBinding | |
None | No | Yes | Yes | – | Yes | Yes |
User Name | Default | Yes | Yes | – | Yes | Yes |
Windows | No | Default | Default | – | Default | Default |
Certificate | Yes | Yes | Yes | – | Yes | Yes |
IssuedToken | No | Yes | Yes | – | Yes | Yes |
作者:蔣金楠
微信公眾賬號:大內老A
微博:www.weibo.com/artech
如果你想及時得到個人撰寫文章以及著作的訊息推送,或者想看看個人推薦的技術資料,可以掃描左邊二維碼(或者長按識別二維碼)關注個人公眾號(原來公眾帳號蔣金楠的自媒體將會停用)。
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。
微信公眾賬號:大內老A
微博:www.weibo.com/artech
如果你想及時得到個人撰寫文章以及著作的訊息推送,或者想看看個人推薦的技術資料,可以掃描左邊二維碼(或者長按識別二維碼)關注個人公眾號(原來公眾帳號蔣金楠的自媒體將會停用)。
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。
相關文章
- [WCF安全系列]談談WCF的客戶端認證[使用者名稱/密碼認證]客戶端密碼
- 胖客戶端程式總結客戶端
- PHP弱型別安全問題總結PHP型別
- Nacos - 客戶端心跳續約及客戶端總結客戶端
- WCF分散式安全開發實踐(1):傳輸安全模式之匿名客戶端:Transport_None_WSHttpBinding分散式模式客戶端NoneHTTP
- [WCF安全系列]從兩種安全模式談起模式
- 《客戶端儲存技術》總結客戶端
- electron-vue郵件客戶端總結Vue客戶端
- 安全總結
- Java與WCF互動(一):Java客戶端呼叫WCF服務 (轉)Java客戶端
- 實時搜尋:如何用Javascript客戶端保證安全JavaScript客戶端
- 限制訪問Oracle客戶端IP方法總結Oracle客戶端
- 設計模式總結篇系列:建造者模式(Builder)設計模式UI
- 憑證結構
- 保護模式篇——總結與提升模式
- Kotlin——初級篇(六): 可空型別、空安全、非空斷言、型別轉換等特性總結Kotlin型別
- Winform客戶端引用WCF客戶端後,部分類無法正常使用ORM客戶端
- php連結nsq客戶端PHP客戶端
- PC客戶端安全測試服務客戶端
- 轉Oracle安裝臨時客戶端使用總結Oracle客戶端
- SD憑證的型別型別
- redis 系列:總結篇Redis
- MVC 繫結 集合型別 modelMVC型別
- 使用多種客戶端消費WCF RestFul服務(四)——Jquery篇客戶端RESTjQuery
- WCF中的Binding模型之六(完結篇):從繫結元素認識系統預定義繫結模型
- 安全基礎總結
- 安全手冊總結
- 設計模式總結(模式篇)設計模式
- Web客戶端安全性最佳實踐Web客戶端
- Java OAuth 2.0 客戶端程式設計(二): 客戶端憑據授權JavaOAuth客戶端程式設計
- WCF 關閉預設除錯客戶端除錯客戶端
- 【設計模式總結篇】設計模式
- tomcat配置調優與安全總結(轉)Tomcat
- 客戶端身份驗證客戶端
- JBoss安全問題總結
- Web總結:部署和安全Web
- 交換機埠安全總結
- 安全圈現狀總結