WCF服务错误:MessageSecurityException: 从另一方收到未进行安全处理或安全处理不正确的错误
作者:C/S框架网  发布日期:2012-03-04 22:41:47
  WCF服务错误:MessageSecurityException: 从另一方收到未进行安全处理或安全处理不正确的错误


在使用WCF服务时,如果客户端调用服务时出现如下错误:

System.ServiceModel.Security.MessageSecurityException: 从另一方收到未进行安全处理或安全处理不正确的错误。有关错误代码和详细信息,请
参阅内部 FaultException。 ---> System.ServiceModel.FaultException: 消息中至少有一个安全令牌无法验证。
--- 内部异常堆栈跟踪的结尾 ---


解决方案


这种情况可能是因为客户端和服务端时间不一致造成的,客户端和服务端所允许的时间差可以是5分钟.客户端要和服务端进行时间同步.

可以使用命令:net time file://ip/地址或服务器名 /set /yes ,但这样操作对服务器的安全有影响,目前我还没有想到好的解决方法.不知大家有什么好的方法.

另一种说法是服务端的Web.Config文件与客户端的App.Config文件内的安全模式定义不一致,参考下面的代码:

Web.Config:

          <security mode="Message">

            <transport clientCredentialType="Windows" proxyCredentialType="None"

              realm="" />

            <message clientCredentialType="Windows" negotiateServiceCredential="true"

              algorithmSuite="Default" establishSecurityContext="true" />

          </security>



 security mode服务端与客户端保持一致。

上一篇 下一篇