asp.net-mvc - 如何在无 session 负载平衡环境中配置 dotNetOpenId

标签 asp.net-mvc load-balancing dotnetopenauth

你以前可能已经解决了这个问题。

我需要能够在没有 session 粘性的环境中使用 open id。服务器确实保留了 header 。

我正在使用 ASP.NET MVC 和 dotNetOpenId 版本 3.2.0.9177。尽管在返回响应时第 3 方网站上的身份验证顺利进行,但我收到错误并且身份验证失败。

有什么想法吗?

最佳答案

有状态

最优化的方法是编写实现IRelyingPartyApplicationStore的自定义持久化存储。获取 OpenID RP 所需的“ secret ”,并将您的实例传递给 OpenIdRelyingParty(IRelyingPartyApplicationStore)构造函数,或在您的 web.config file 中注册它.

无国籍

对于大多数场景来说,一个更简单的解决方案是使用无状态模式,这样就不需要在 Web 场的服务器之间共享状态。

您可以通过实例化 OpenIdRelyingParty 来激活无状态模式路过null作为您的应用程序商店实例。调用默认构造函数将导致 DNOA 使用其内存存储,这会在服务器群中中断,因此默认构造函数是不够的。

或者,如果您使用的是 ASP.NET 控件,只需设置 Stateless = true在控件上。

关于asp.net-mvc - 如何在无 session 负载平衡环境中配置 dotNetOpenId,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1379156/

相关文章:

.net - Asp.net MVC json或Json.net?

load-balancing - 具有负载平衡的 session cookie(非粘性 session )

asp.net - 在没有停机的情况下在负载平衡网站上部署时避免无效的 View 状态

openid - 信息亭PC上的OpenID

javascript - Asp.Net Mvc - ContentPlaceHolder- Javascript

asp.net-mvc - 确定我正在使用的 Kendo UI 版本和产品

Javascript Html.Checkbox onchange 事件

amazon-web-services - 使用 AWS Application Load-Balancer (ALB) 到外部资源的基于路径的路由

c# - 使用 DotNetOpenAuth 以双向方式将一个站点连接到另一个站点

.net - DotNetOpenAuth OpenIdLogin CSS 样式