跨多个站点同步ASP.NET会话

时间:2008-12-24 17:41:29

标签: asp.net session-state

是否有一个优雅的解决方案可以跨多个ASP.NET应用程序同步会话?我确信这很容易被认为是一个安全漏洞,但是涉及第三方ASP.NET应用程序,因为没有扩展能力。出于这个原因,正在开发第二个[相关]站点,但需要直接访问在第三方应用程序上创建的会话。

例如,当用户登录/注销一个站点时,另一个站点上应该执行相同的操作。但是,重要的是要注意这超出了典型的SSO。

4 个答案:

答案 0 :(得分:1)

尝试memcached会话状态提供程序:http://www.codeplex.com/memcachedproviders 由于缓存在单独的服务中运行,我很确定您可以从不同的应用程序访问相同的存储池。

答案 1 :(得分:1)

使用SQL Server存储是最简单的解决方案之一。确保您在SQL对象上设置了适当的权限。我不熟悉马努建议的内容。实际上还有一种方法,这有点困难。它通过实现像纪念品一样的修改来完成。 App1将会话信息存储在数据库中,而不是其他应用程序App2访问数据库,会话信息通过App2可以引用的服务公开。用户移至app2并进行身份验证后,将使用该服务恢复其会话。

希望有所帮助。它在我的一个项目中对我有用。

答案 2 :(得分:0)

假设应用程序在cookie中存储了一些关键数据,Cookie是一种选择。如果其他站点位于同一个域中,则可以读取它们。

答案 3 :(得分:0)

使用NCache - http://www.alachisoft.com/ncache/

它可以帮助你实现你想要的东西。

它还内置了分布式ASP.NET会话状态缓存,可以帮助您跨多个站点共享会话。 Details Here

相关问题