首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带自定义负载均衡器的WIF被动联合

带自定义负载均衡器的WIF被动联合
EN

Stack Overflow用户
提问于 2012-03-22 22:17:17
回答 2查看 1.1K关注 0票数 0

我正在实现一个简单的负载均衡器-它是一个http侦听器,它解析来自浏览器的传入请求,并将它们路由到适当的ASP.NET应用程序。它监听某个端口(8801),并且在路由时,它保留原始URI并仅更改端口号,例如,可以将https://machine.domain.com:8801/testsite/Default.aspx路由到https://machine.domain.com:8811/testsite/Default.aspx

在没有安全性的情况下,路由工作得很好。当我尝试将WIF联合应用到ASP.NET应用程序时,这个问题出现了。我使用ADFS2.0。下面是我尝试过的两个场景:

场景1

依赖方的WS联合被动终结点设置为ASP.NET应用程序URI

当通过浏览器访问负载均衡器URI时,负载均衡器将路由到ASP.NET应用程序并加载页面,但是,根据设置的被动端点,来自STS的RequestSecurityTokenResponse将直接重定向到ASP.NET应用程序(而不是负载均衡器)。所以它是有效的,但由于我希望通过负载均衡器来处理与ASP.NET应用程序的整个通信,所以这个场景不符合我的要求。

场景2

依赖方的WS-Federation被动终结点设置为负载平衡器URI

当通过浏览器访问负载均衡器URI时,负载均衡器路由到ASP.NET应用程序,该应用程序返回未经授权的响应,浏览器重定向到STS,RequestSecurityTokenResponse被重定向回负载均衡器,但当进一步路由到ASP.NET应用程序时,我得到响应401 -未授权:由于无效凭据而拒绝访问。我认为这是由于URI不匹配造成的,因为saml令牌是为负载均衡器URI颁发的。我尝试了受众uris和领域的各种组合,但没有成功。

因此,我的问题是,是否存在一个变通方法,使负载均衡器能够处理所有必要的联盟通信,因为我的ASP.NET应用程序只能从负载均衡器访问。

我希望我已经足够清楚地解释了我的问题。

非常感谢你的帮助,谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-28 19:43:04

最终问题出在别的地方。我的负载均衡器实际做的是将传入的HttpListenerRequest转换为新的HttpWebRequest,然后将其转发到适当的ASP.NET应用程序。然而,我没有在转发的请求上禁用自动重定向,所以会发生从ASP.NET应用程序到ADFS的重定向。下面的代码实现了这个魔术:

HttpWebRequest.AllowAutoRedirect = false;

票数 1
EN

Stack Overflow用户

发布于 2012-03-23 06:06:38

在您的依赖方应用程序web.config中,您能否确认您的federatedAuthentication部分如下所示(下面的领域应指定您的NLB端口):

代码语言:javascript
运行
复制
<federatedAuthentication>
    <wsFederation passiveRedirectEnabled="true" issuer="https://mysts.com/v2/wsfederation" realm="https://machine.domain.com:8801/testsite/Default.aspx" requireHttps="false" />
    <cookieHandler requireSsl="false" />
</federatedAuthentication>

另外,您应该注意的另一个问题是会话cookie。WIF默认使用DPAPI对其进行加密,因此您必须改用RsaEncryptionCookieTransform。在Azure中使用WIF时也存在同样的问题。这里有一篇文章演示了如何做到这一点:

http://msdn.microsoft.com/en-us/library/windowsazure/hh289318.aspx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9824107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档