我们有一个自定义web服务托管在sharepoint 2013基金会。如果我们在客户端的主机文件中添加以下内容,
web service url... //go to TMG ip address e.g. 10.0.0.100但是当我们从客户端的主机文件中删除这个文件时会出现错误,
HTTP请求是未经授权的客户端身份验证方案'Basic‘。从服务器接收的身份验证头是“协商,NTLM”。
我们使用的basicHttpBinding设置如下,
BasicHttpBinding binding = new BasicHttpBinding();
binding.Security.Mode = BasicHttpSecurityMode.Transport;
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic;我们仍然可以通过指向客户端先通过Microsoft前端服务器来解决这个问题,然后再转到承载我们自定义wcf服务的服务器。
但是现在我们计划将托管的wcf服务转移到AZURE,并且不确定TMG将如何与AZURE的盒子进行交互。
为什么是这种行为,我怎样才能纠正它呢?
发布于 2017-06-23 05:56:20
HTTP请求是未经授权的客户端身份验证方案'Basic‘。从服务器接收的身份验证头是“协商,NTLM”。
此错误意味着您的WCF服务需要基本身份验证(用户名和密码),但是您的客户端通过了Windows协商票证。如果在主机文件中配置TMG,TMG将充当ADFS代理。您必须有内部ADFS基础设施设置,并已连接到Office 365。TMG将验证请求并将结果传递给您的WCF服务。
但是现在我们计划将托管的wcf服务转移到AZURE,并且不确定TMG将如何与AZURE的盒子进行交互。
迁移到Azure之后,您还可以使用Azure PaaS创建虚拟机并在其上安装任何软件。但这是不推荐的。Azure Active应用代理可以提供ADFS集成功能,这是在Azure上取代TMG的推荐方式。关于如何使用Azure Active应用程序代理,下面的链接供您参考。
https://stackoverflow.com/questions/44703350
复制相似问题