ITfoxtec SAML具有负载平衡的Web服务器

问题描述 投票:1回答:1

我们使用ITfoxtec.Identity.Saml2库来验证我们的SSO服务。

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

我在创建会话时尝试设置isPersistent = true但它没有任何影响。我已经看到了与在Web场中存储SAML状态相关的类似问题,其建议范围包括:

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

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

关于如何攻击这个的任何建议?

load-balancing saml-2.0 web-farm itfoxtec-identity-saml2
1个回答
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场方案,令牌缓存必须在服务器场中的所有节点上运行。

也许你需要实现一个令牌缓存。

更新:

我很遗憾地说我没有例子。我已经添加了一些可能有用的链接。

WIF and Web Farms

About SessionAuthenticationModule IsReferenceMode

SessionSecurityTokenCache Class

© www.soinside.com 2019 - 2024. All rights reserved.