【问题标题】:ASP.NET sessions over multiple domains跨多个域的 ASP.NET 会话
【发布时间】:2010-09-24 15:50:50
【问题描述】:

是否有合适的 .NET 解决方案在多个域上提供持久的服务器会话?

即如果该站点的用户在 www.site1.com 下登录,他们也会在 www.site2.com 下登录

安全性是我们正在开发的程序的一个问题...

谢谢!

【问题讨论】:

  • 同一个应用程序,同一个服务器?完全不同的域还是只是不同的子域?
  • 如果我记得的话,会话与域/应用程序相关联,所有解决方案都涉及使用 SQL Server 和那里的存储过程/表进行黑客攻击。
  • 为什么人们一直试图为此做黑客?只需创建一个中间“第三个”服务器,您就可以在一个地方处理单点登录。即site1 重定向到site3 (auth) 上的页面,登录,重定向回站点。然后,如果该用户转到site2,它会检查site3(auth)是否有会话,如果有,则将其登录。会话存储在site3上。就像 OAuth 的工作原理一样。这有什么问题?

标签: c# asp.net session dns


【解决方案1】:

它是否需要在会话中,或者您是否正在寻找单点登录解决方案。如果后者看一下 ADFS 的内容 http://en.m.wikipedia.org/wiki/Active_Directory_Federation_Services?wasRedirected=true

【讨论】:

    【解决方案2】:

    您可能想从这里开始,而不是侵入 ASPState 数据库(可能,但我不推荐这样做):http://www.codeproject.com/KB/session/sharedsession.aspx

    基本上,您使用反射将 www.site1.com 和 www.site2.com 的 AppDomain 设置为相同。

    您也可能需要 AppPath,我们需要,但我们的设置与您的设置略有不同。我们补充说:

            FieldInfo appDomainInfo = typeof(HttpRuntime).GetField("_appDomainId", BindingFlags.Instance | BindingFlags.NonPublic);
            appDomainInfo.SetValue(theRuntime, "/LM/W3SVC/1/ROOT/A_Website_Name_Here");
    

    【讨论】:

      【解决方案3】:

      “会话”这个词在 ASP.NET 中可能有点令人困惑。

      如果您谈论的是安全性(身份验证和授权),您可能正在寻找单点登录解决方案。换句话说,当用户登录一个站点时,他们不会被提示登录另一个相关站点。看看 Windows Identity Foundation、OAuth、Jasig CAS。 CAS 是我的首选解决方案(我是 .NET 客户端的开发人员),但服务器是用 Java 编写的,您需要一些 Java 专业知识才能按照您想要的方式配置它。

      在 ASP.NET 中,会话状态是完全独立于身份验证和授权的组件(尽管它可能取决于身份验证步骤的结果)。如果您尝试在 2 个站点之间共享信息(即购物车内容),您可以将两个域配置为使用相同的数据库作为会话提供程序 (google aspnet_regsql -ssadd),或者您可以将数据存储在数据库中两者都可以访问。

      有关我为何强调区别的更多信息,请查看:http://www.codeproject.com/KB/aspnet/ASPDOTNETPageLifecycle.aspx

      祝你好运。

      【讨论】:

        【解决方案4】:

        尝试使用 IIS 7.5 Url Rewrite 2 模块的规范主机名 URL 重写功能:Download

        (此答案依赖于两个 URL 都具有相同 Web 应用程序的主机头条目)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-01-31
          • 2010-09-21
          • 2016-08-01
          • 1970-01-01
          • 2023-03-14
          • 1970-01-01
          • 2015-12-06
          • 2011-01-13
          相关资源
          最近更新 更多