日期:2014-05-17  浏览次数:20892 次

WCF在iis发布后调用报错--调用方未由服务进行身份验证
    在服务器的iis上发布了wcf,调用的时候报错“调用方未由服务进行身份验证”。本来想着是很常见的错误,改配置文件的<security mode="Message">为<security mode="None">就行了。结果改了之后出现了许多别的错误,按照网上找到的方法,每一个能解决问题的。
    发现在本机的iis上发布,调用的时候是<security mode="Message">,但是却不会报错,因此想着不会是直接改成none这么简单。但是为什么呢,本机iis可以,令找一台环境相同的机器就不行了。各位帮帮忙吧。

------解决方案--------------------
如果是 <security mode="None"> 得是 BasicHttpBinding。

------解决方案--------------------
很明显、要进行验证、
可以像楼上说的、把验证模式设为none
或者客户端访问服务的时候给服务端的用户名跟密码(Windows用户)
client.ClientCredentials.Windows.ClientCredential.UserName = "";
            client.ClientCredentials.Windows.ClientCredential.Password = "";

------解决方案--------------------
“结果改了之后出现了许多别的错误”,那又是什么错误?
首次测试程序应该设置为<security mode="None">,安全性是后期考虑的问题,<security mode="Message">的情况,还必须设置子项,默认是微软内置的安全性验证,千万别用,问题非常多,只适用于本机。如果你一定要启用安全设置,应该用证书。