使用MVC在2个子域之间传递会话的最佳方式

时间:2010-10-11 09:19:33

标签: asp.net-mvc https

在我在MVC中开发的电子商务网站的购买过程中,我需要将“购物车”会话传递到不同的子域(例如http://www.abc.com到https://secure.abc .COM)。

我想我必须执行与webforms相同的技巧,我将与会话相关的所有变量保存到数据库,然后将数据库记录的ID传递给安全的子域,并使用提供的id重新加载会话。

然而,对于MVC,我有几个选择(我认为):

1)在非安全页面中呈现一个表单,该表单将ID发布到控制器(但使用硬编码的绝对URL调用控制器(例如https://secure.abc.com/nextstep

2)将ID发回我的非安全控制器,然后让控制器返回一个受保护的视图(可能)。

有更好的方法吗?

2 个答案:

答案 0 :(得分:0)

如果确保它不会影响安全性,更简单的方法是允许在域上共享cookie,而不是仅在子域上共享。我来自PHP背景,不知道如何在.net

中执行此操作

答案 1 :(得分:0)

我是通过cookie来解决sub domian问题

您可以将数据保存为以下Cookie:

HttpCookie cookies = new HttpCookie("Name");
cookies["data"] = yourdata;
cookies.Domian = ".abc.com"

然后您的数据信息可以跨子域共享