none
基于证书的传输安全模式和自定义用户名密码身份验证 RRS feed

  • 问题

  • 想实现标题所说的内容

    近日在cnblog看见一篇帖子  http://www.cnblogs.com/frank_xl/archive/2009/08/15/1543852.html

    里边提到

    传输安全模式配置:

    < bindings >
          
    < wsHttpBinding >
            
    < binding  name = " TransportAndUserName "     >
              
    < security mode = " Transport " >
                
    < transport clientCredentialType  = " Basic " />
                
    < message clientCredentialType = " None " />
              
    </ security >
            
    </ binding >
          
    </ wsHttpBinding >
    </ bindings >

    而我自己实验的例子的配置为

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

    其他配置基本一样.

    经过测试,两种例子都能通过https通道进行传输,而且进行用户名密码验证.

    请问这两种配置方法有什么不同.

    当然配置文件是不一样的......

    但实现的效果是一样的
    2010年12月1日 1:04

答案

  • 这两种方式都使用了Transport安全。

    也就是数据在传输过程中被加密的。

    区别在于针对客户端的验证方式。

    Basic属于客户端凭据的一种形式。Basic这种凭据的定义形式不需要依赖于SOAP消息。

    而Message安全里的UserName方式有所不同。这属于Web Service安全规范里的一个部分,UserName在消息里的格式,以及处理方式都自己的独立的定义。

     


    Frank Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
     

    老徐的网站】:http://www.frankxulei.com/

    微软WCF中文技术论坛
    微软WCF英文技术论坛

    Windows Azure中文技术论坛

    • 已标记为答案 FeS61 2010年12月1日 4:59
    2010年12月1日 3:19
    版主