我正在尝试为ADFS Proxy 2.0设置主动联盟。被动联合工作正常(因此我期望我已经正确配置了ADFS代理),但是当我使用主动联合时,出现以下异常:“HTTP请求被禁止,客户端认证方案'匿名'”。ADFS Proxy 2.0的有效联盟
我使用以下代码:
var factory = new WSTrustChannelFactory(new UserNameWSTrustBinding(
SecurityMode.TransportWithMessageCredential,
HttpClientCredentialType.Digest),
"https://adfs-proxy/adfs/services/trust/13/usernamemixed");
factory.Credentials.UserName.UserName = username;
factory.Credentials.UserName.Password = password;
factory.Credentials.HttpDigest.AllowedImpersonationLevel =
TokenImpersonationLevel.Impersonation;
factory.TrustVersion = TrustVersion.WSTrust13;
var rst = new RequestSecurityToken {
RequestType = RequestTypes.Issue,
AppliesTo = new EndpointAddress(relyingPartyIdentifier),
KeyType = KeyTypes.Bearer
};
var channel = factory.CreateChannel();
return channel.Issue(rst);
的Fiddler显示以下反应(I得到同样的错误,而不的Fiddler以及):
HTTP/1.1 403 Forbidden
Transfer-Encoding: chunked
Server: Microsoft-HTTPAPI/2.0
Date: Mon, 01 Jun 2015 13:06:16 GMT
0
有一个在ADFS以下消息跟踪日志:
WSTrustProxyListener.ProcessRequest: Rejected front-end request to resource https://adfs-proxy:443/adfs/services/trust/13/usernamemixed/ .
如果我更改url指向原始ADFS ser ver,而不是代理,上面的代码工作正常(向ADFS发送相同的请求)。
/adfs/services/trust/13/usernamemixed端点在代理的ADFS服务器中是允许的。
我还发现,当我访问以下链接指向ADFS代理服务器:
https://adfs-proxy/federationmetadata/2007-06/federationmetadata.xml
我得到403禁止响应为好。我看到在ADFS跟踪日志相同的消息:
WSTrustProxyListener.ProcessRequest: Rejected front-end request to resource https://adfs-proxy:443/FEDERATIONMETADATA/2007-06/FEDERATIONMETADATA.XML .
Wireshark的向我表明有来自ADFS代理没有网络请求主ADFS服务器。
如果我为这个链接指定了原始的ADFS服务器(而不是代理),一切都很好,返回正确的xml。实际上,对于ADFS代理我得到403禁止任何请求发送到以下监听器(如果我在IE打他们)不管他们是否允许ADFS代理或不:
https://+:443/FederationMetadata/2007-06/
http://+:80/adfs/services/trust/
https://+:443/adfs/services/trust/
我尝试下运行ADFS代理服务各种账户,包括网络服务和本地管理员。
我该如何摆脱此错误并设置Active Federation for ADFS Proxy?
没有ü找到它的位置吗?我得到同样的问题。 –