使用 MVC 在 2 个子域之间传递会话的最佳方式
在我在 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您确保不会影响安全性,甚至更简单的方法是允许 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
我是通过cookie来解决子域问题的。
您可以将您的数据保存到cookie中,如下所示:
然后您的数据信息可以跨子域共享
I did it through cookies in order to solve the sub domian problem
You can save your data into cookies something like this:
Then your data info can be shared across sub domains