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

发布于 2024-09-26 14:15:25 字数 435 浏览 1 评论 0原文

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

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

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

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

2) 将 ID 发回我的非安全控制器,然后获取控制器返回一个安全的视图(有可能吗)

During the buy process of my ecommerce site that I'm developing in MVC I need to pass the "cart" session to a different subdomain (e.g. http : //www.abc.com to https : //secure.abc.com).

I guess I have to perform the same trick as with webforms where I save all the variables associated with the session to a database, then pass the ID of the database record to the secured subdomain and reload the session using the id supplied.

However with MVC I have a couple of options (I think):

1) Render a form in the non-secured page that posts an ID to the controller (but call the controller using an hard-coded absolute URL (e.g. https://secure.abc.com/nextstep

2) Post back the ID to my non-secured controller and then have the controller return a view that is secured (is that possible).

Is there a better way?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

在你怀里撒娇 2024-10-03 14:15:25

如果您确保不会影响安全性,甚至更简单的方法是允许 cookie 在域上共享,而不仅仅是在子域上。我有 PHP 背景,不知道如何在 .net 中执行此操作

Even an easier way if you make sure it won't affect the security, is to allow the cookie to be shared on the domain, instead of the subdomain only. I come from a PHP background, wouldn't know how to do this in .net

仙气飘飘 2024-10-03 14:15:25

我是通过cookie来解决子域问题的。

您可以将您的数据保存到cookie中,如下所示:

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

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

I did it through cookies in order to solve the sub domian problem

You can save your data into cookies something like this:

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

Then your data info can be shared across sub domains

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文