带有负载均衡Web服务器的ITfoxtec SAML

时间:2018-11-20 05:35:06

标签: load-balancing saml-2.0 web-farm itfoxtec-identity-saml2

我们正在使用ITfoxtec.Identity.Saml2库向我们的SSO进行身份验证 服务。

问题是我们正在负载平衡服务器上使用它。如果我们关闭粘性会话,则该应用程序将不再运行。

我在创建会话时尝试将isPersistent = true设置为true,但它没有任何影响。我看到过类似的问题,涉及在整个Web场中存储SAML状态,其建议包括:

更改配置,以便Webfarm上的所有服务器使用相同的机器密钥 创建相当于状态服务以存储身份验证的内容。

我认为,有一种方法可以将用户状态本机存储在cookie中,无论是否使用负载平衡,都可以重用。

关于如何对此进行攻击的任何建议?

1 个答案:

答案 0 :(得分:0)

使用ITfoxtec.Identity.Saml2.Mvc和ASP.NET MVC,isPersitentCreateSession方法上的参数。 CreateSession方法用于 ASP.NET sample application

在接受SAML 2.0响应以创建由SessionAuthenticationModule处理的用户身份cookie之后,将调用该方法。

默认情况下,用户身份cookie不是持久性的。设置isPersitent=true会导致创建持久的用户身份cookie。 isPersitent设置与负载平衡无关。

应该可以通过设置isReferenceMode=true来支持负载平衡。引用模式将用户身份cookie从自身包含更改为指针。

  

在参考模式下,序列化过程中会产生一个简单的工件,令牌材料存储在与令牌处理程序关联的令牌缓存中。令牌缓存是从SessionSecurityTokenCache派生的类的实例。对于Web Farm方案,令牌缓存必须在服务器场中的所有节点上运行。

也许您需要实现令牌缓存。

已更新:

很抱歉,我没有一个例子。相反,我添加了一些可能会是完整帮助的链接。

WIF and Web Farms

About SessionAuthenticationModule IsReferenceMode

SessionSecurityTokenCache Class