[转]如何配置不启用安全的WCF服务?
【1】问题描述: 一般WCF默认很多绑定是使用安全的,一般不是Transport(TcpBinding)就是Message(WSHttpBinding)安全模式。 而且会对客户端启用身份验证。 因为WCF安全设置与开发比较麻烦,所以大部分开发人员希望不启用安全模式。 那么如何做呢?
【2】参考配置: 服务端首先可以设置SecurityMode=“None”。这个可以通过配置文件,也可以通过代码来实现。这里给出配置文件的方式。参考代码:
    <wsHttpBinding> 
      <binding name="bindingConfiguration"> 
        <security mode="None"> 
          <transport clientCredentialType="None"/> 
   <message clientCredentialType="None"/> 
        </security> 
      </binding> 
    </wsHttpBinding>
另外这里还要把这个绑定用到对应的Endpoint的配置上:
bindingConfiguration="bindingConfiguration"
例子如下:
        <endpoint 
          address="WCFService" 
          binding="wsHttpBinding" 
          bindingConfiguration="bindingConfiguration" 
          contract="WCFService.IWCFService"> 
        </endpoint>
【3】Client配置: 客户端配置 也要与之对应,最好重新添加服务引用。更新客户端配置。 当然也可以自己手动更新,因为没有使用安全传输以及验证客户端。 所以客户端简化配置如下:
    <system.serviceModel> 
        <bindings> 
            <wsHttpBinding> 
                <binding name="WSHttpBinding_IWCFService" /> 
                    <security mode="None"> 
                        <transport clientCredentialType="None" /> 
                        <message clientCredentialType="None"  /> 
                    </security> 
                </binding> 
            </wsHttpBinding> 
        </bindings> 
        <client> 
            <endpoint address="https://frank-xu2009:9001/WCFService" binding="wsHttpBinding" 
                bindingConfiguration="WSHttpBinding_IWCFService" contract="ClientProxy.IWCFService" 
                name="WSHttpBinding_IWCFService" /> 
        </client> 
    </system.serviceModel>
                    
                
                
                
            
        
浙公网安备 33010602011771号