多租户应用程序中的ASP.NET会话和Cookie
我正在开发一个多租户ASP.NET MVC应用程序 到目前为止,我们一直在使用HttpContext为请求存储一些对象(技术上是由租户进行分区的) 但是,我们需要使用TempData(使用会话)并设置身份验证cookie 我们的规格:多租户应用程序中的ASP.NET会话和Cookie,asp.net,asp.net-mvc,multi-tenant,Asp.net,Asp.net Mvc,Multi Tenant,我正在开发一个多租户ASP.NET MVC应用程序 到目前为止,我们一直在使用HttpContext为请求存储一些对象(技术上是由租户进行分区的) 但是,我们需要使用TempData(使用会话)并设置身份验证cookie 我们的规格: 租户可以有多个URL(tenant1.myapp.com或mycustomdomain.com) 租户不应共享身份验证cookie 理想情况下,租户的身份验证cookie应该由他们的任意一个URL共享 会话域感知吗?似乎是这样 我可以在身份验证cookie上设
- 租户可以有多个URL(tenant1.myapp.com或mycustomdomain.com)
- 租户不应共享身份验证cookie
- 理想情况下,租户的身份验证cookie应该由他们的任意一个URL共享
标记中将域
属性设置为顶级域)。这就是允许在同一域上的应用程序之间实现单点登录的原因。如果您希望在不同域上的应用程序之间实现单点登录,则需要
会话域感知吗
默认情况下,会话由Cookie跟踪,并且由于Cookie仅限于同一域,因此会话不仅具有域感知能力,而且具有应用程序感知能力,这意味着如果您在同一域上有两个应用程序,它们将不会共享会话
我可以在身份验证cookie上设置多个域吗
不可以。不能在域之间共享Cookie。但与会话相反,您可以在同一域上的多个应用程序之间共享它们(通过在web.config中的
标记中将域
属性设置为顶级域)。这就是允许在同一域上的应用程序之间实现单点登录的原因。如果您想在不同域上的应用程序之间实现单点登录,您需要。您可能需要研究一下
但我不相信你可以在开箱即用的情况下跨域共享会话。您可能需要添加自定义会话同步,其中每个域会话通过自定义算法链接到同一用户/租户等。您可能需要查看
但我不相信你可以在开箱即用的情况下跨域共享会话。您可能需要添加自定义会话同步,其中每个域会话通过自定义算法链接到同一用户/租户等。感谢您的澄清。因此,这似乎是默认安全的。很可能我的租户每个人都只有一个url。谢谢你的澄清。因此,这似乎是默认安全的。很可能我的租户每个人都只有一个url。
<configuration>
<system.web>
<sessionState
mode="StateServer"
partitionResolverType=
"IndustryStrengthSessionState.PartitionResolver" />
</system.web>
</configuration>