异常排除: 调用方未由服务进行身份验证

一直在一台电脑上同时搞WCF的服务和客户端,今天在另外一台电脑上调用,发现了一个新的问题"调用方未由服务进行身份验证",

在网上查了大量的资料,也没有发现有人说明白其中的原因,只是发现了一篇解决的办法,但是个人感觉不是最佳的方案,所以还在探索中.

发现的解决的办法中提到,在服务端和客户端分别将安全验证设置成"none"就可以了,自己试了几遍也没成功.但是从理论上是行的通的.

另外呢发现了这样的一个解决办法,不知道有没有其它的见解

将 WCF 服务器和客户端分别部署到不同机器上,可能会触发如下异常。
未处理 System.ServiceModel.Security.SecurityNegotiationException
Message="服务器已拒绝客户端凭据。"
Source="mscorlib"
解决方法,就是调整服务器端 Binding 的安全方式,比如设为 "None"。
NetTcpBinding binding = new NetTcpBinding();
binding.Security.Mode = SecurityMode.None;

ServiceHost host = new ServiceHost(typeof(MyService));
host.AddServiceEndpoint(typeof(IService), binding, "net.tcp://192.168.0.112:8081");

ServiceMetadataBehavior metadata = new ServiceMetadataBehavior();
metadata.HttpGetUrl = new Uri("http://192.168.0.112:8080");
metadata.HttpGetEnabled = true;
host.Description.Behaviors.Add(metadata);

host.Open();
或者在配置文件中设置。

时间: 2024-11-11 13:54:35

异常排除: 调用方未由服务进行身份验证的相关文章

解决WCF跨机器调用时发生“调用方未由服务进行身份验证”的错误

1.服务器端Web.config配置文件,增加如下部分: <system.serviceModel> <bindings> <wsHttpBinding> <binding name="WSHttpBinding_NoneSecurity" maxBufferPoolSize="12000000" maxReceivedMessageSize="12000000" useDefaultWebProxy=&

解决WCF 调用方未由服务器进行身份验证或消息包含无效或过期的安全上下文令牌

错误描述: 1. WCF:调用方未由服务器进行身份验证 2. 无法处理消息.这很可能是因为操作“http://tempuri.org/ISCCLSvc/GetCarriersByWareHouse”不正确,或因为消息包含无效或过期的安全上下文令牌,或因为绑定之间出现不匹配.如果由于未处于活动状态导致服务中止了该通道,则安全上下文令牌无效.若要防止服务永久中止闲置会话,请增加服务终结点绑定上的接收超时. 3.或并发测试时,高并发出现问题2,实际案例:公司测试部门结果是并发到50就会出现问题2错误,

WCF:调用方未由服务器进行身份验证

服务器webconfig端配置文件,红色部分为添加部分 <system.serviceModel> <bindings>       <wsHttpBinding>         <binding name="NoneSecurity"  maxBufferPoolSize="12000000" maxReceivedMessageSize="12000000" useDefaultWebProxy=&

《Apache服务用户身份验证管理》RHEL6.3

1.安装apache软件包 Yum install httpd 2.启动apache服务 /etc/init.d/httpd restart 3.创建一个目录,内编辑一个index.html文件 4.给这个目录设密码(是不是很passwd文件内用户的密码文件很像) 5.编辑apache配置文件/etc/httpd/conf/httpd.conf文件(添加如下行) 6.重启apache服务 7.验证是否配置成功 8.结果 <Apache服务用户身份验证管理>RHEL6.3,码迷,mamicode

PushSharp 由于远程方已关闭传输流,身份验证失败。

前段时间用到了PushSharp给APNS发推送,但是用的时候遇见很诡异的事情,每次第一次运行的时候能成功发送到 但是接下来就无限的提示“由于远程方已关闭传输流,身份验证失败. “ 然后我就各种找原因,找来找去,各种方式都试过了,但是还是不行...而且同事用php写的一个客服端却非常的流畅,简直疯了要 后来终于...找见原因了! 原来是我工作用的系统太老了...我用的还是xp系统,好像xp系统中对身份验证有个漏洞,结果导致程序无限报错,我把程序放到server2008上后就一切正常了... 简直

Token:服务端身份验证的流行方案

01- 身份认证 服务端提供资源给客户端,但是某些资源是有条件的.所以服务端要能够识别请求者的身份,然后再判断所请求的资源是否可以给请求者. token是一种身份验证的机制,初始时用户提交账号数据给服务端,服务端采用一定的策略生成一个字符串(token),token字符串中包含了少量的用户信息,并且有一定的期限.服务端会把token字符串传给客户端,客户端保存token字符串,并在接下来的请求中带上这个字符串. 它的工作流程大概是这样: 组件图 Token机制 在这样的流程下,我们需要考虑下面几

OpenStack 控制节点基本环境和身份验证服务的安装部署

OpenStack Networking(neutron) 需要一个控制节点(controller node).一个网络节点(networknode)以及至少一个计算节点(compute node). 一.物理环境部署 1.物理环境规划 表1.1. OpenStack环境部署 二.安装前的部署 1.1配置主机名 [email protected]:~# vim  /etc/hostname controller 1.2 配置IP地址 [email protected]:~# vim  /etc/

解决 SQL Server 所有帐号无 sysadmin 权限,且未启用 SQL Server 身份验证,sa 帐号也未启用的问题

解决 未启用 SQL Server 身份验证 的问题: 1. 运行 regedit,进入注册表编辑器 2. 打开:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQLServer( MSSQL14.MSSQLSERVER 这部分根据实际安装实例的名称来选择,若有多个实例,请打开需要设置的那个) 3. 找到其中的 LoginMode 项,值为 1 时仅 Windows 身份验证,值为

IOS调用WCF提供的服务方法,但是方法的参数是WCF那边自定义的对象,这样有办法调用么,如果可以IOS应该怎么传参呢?请问有了解的么,

最近做一个项目后端使用WCF接收Android手机拍照并带其它参数保存到服务器里:刚好把最近学习的WCF利用上,本以为是个比较简单的功能应该很好实现,没想到其中碰到不少问题,在网上搜索很久一直没有想到的解决方案,最后实现对数据流的分段写入然后后端再来解析流实现的此功能:后端运用WCF中的REST来接收数据:REST还是比较简单的知识,若是不懂可以简单网上了解一下:下面我们先了解一些本次运用到的理论知识: 一:理论知识 由于低层协议特性限制,WCF的流模式只支持如下四种:1:BasicHttpBi