wcf ClientCredential用户名和密码是否安全?

时间:2013-08-05 04:09:55

标签: wcf-security

我有一个wcf并将其上传到我的主机上的Web场并使用这种安全模式:

  <basicHttpBinding>
    <binding name="BasicHttpBinding_IHelinusSMSService">
      <security mode="TransportCredentialOnly">
        <transport clientCredentialType= "Ntlm" proxyCredentialType="None" realm="" />
        <message clientCredentialType="UserName" algorithmSuite="Default" />
      </security>
    </binding>
  </basicHttpBinding>

在我的客户端,如果我想使用这个wcf服务,我必须添加一个我的域用户名并传递。

我的客户代码是;

 using (var myService = new MyServiceClient())
            {
              myService.ClientCredentials.Windows.ClientCredential.UserName = "abcd";
              myService.ClientCredentials.Windows.ClientCredential.Password = "123";
           .
           .
           .
           }

如果我不使用我的域用户名和密码,我将收到此错误:

"The HTTP request is unauthorized with client authentication scheme 'Ntlm'. The     
 authentication header received from the server was 'Negotiate,NTLM'."

我想知道使用我的用户名并传递这样的字词是否安全 它是可以破解的,是否安全?

“因为如果有人可以破解它,它可以访问我的所有域名主机和文件.... 我会......“

1 个答案:

答案 0 :(得分:0)

是。提供用户名和密码时,必须使用传输安全性。数据受传输层(https / ssl)保护。