2015-06-11 29 views
0

我正在尝试为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?

+0

没有ü找到它的位置吗?我得到同样的问题。 –

回答

0

为了什么是值得的,自昨晚以来我一直在处理这个问题。

特别是,这种错误:WSTrustProxyListener.ProcessRequest: Rejected front-end request to resource https://adfs-proxy:443/FEDERATIONMETADATA/2007-06/FEDERATIONMETADATA.XML.

试图拉从联盟代理服务器federationmetadata.xml时,我会收到一个403。

我也收到此错误信息: The federation server proxy was not able to retrieve the list of endpoints from the Federation Service at [adfs_server_name]. The error message is 'Error reading the C:\Program Files\Active Directory Federation Services 2.0\PT directory.'.

我修改这个c中的安全设置:\ Program Files文件\的Active Directory \联合服务2.0 \ PT文件夹,并给予了充分的访问它,以具有用户联合代理上的“ADFS 2.0 Windows服务”服务的“LogonAs”权限。

在这一点上,我能够成功地拉联合会元数据为经由https://sso.proxy.fdqn.com/federationmetadata/2007-06/federationmetadata.xml