1

我有一个使用表单身份验证的站点(使用自定义成员资格提供程序,但现在这并不重要)。在网站的安全部分,客户可以通过 WorldPay 购买商品并付款。

一旦他们从 WorldPay 回来,如果有一个链接回到网站的安全部分,我是否可以合理地期望表单身份验证票(存储在会话 cookie 中)能够存活(尽管超时)?

票是这样设置的:

FormsAuthentication.SetAuthCookie(username, false);
FormsAuthentication.RedirectFromLoginPage(username, false);

这项工作是重新开发的一部分,在编写大量可能不需要的代码之前,我宁愿有一个快速的“是/否/也许”答案——我们不希望用户重新登录到安全部分网站,因此我们会根据 WorldPay 返回的信息重新创建他们的登录信息。显然,如果要记住用户,我不必编写该代码 - 我很懒 ;-)

感谢您的任何建议,

迈克·K。

4

3 回答 3

2

表单身份验证使用 cookie。

只要会话没有超时并且您没有关闭浏览器,会话 cookie(存储在内存中)就会一直存在。

您还可以设置 cookie 的生命周期,然后将其写入磁盘,并可供所有浏览器实例使用。在这种情况下,如果服务器上的会话超时,您也将被注销。

于 2009-11-12T12:27:23.730 回答
0

如果你打电话

FormsAuthentication.SetAuthCookie(username, false); 

那么 cookie 将在您的 web.config 中指定的值或用户注销之前持续存在。

如果您在他们访问您的网站期间将他们重定向到第三方网站,则此 cookie 将保留。第 3 方网站将无法访问您的身份验证 cookie。

简而言之,当 WorldPay 将他们重定向回来时,他们仍会在您的网站上登录。

更短:的。

希望这可以帮助。

于 2009-11-12T14:34:13.927 回答
0

这里的其他答案似乎指出这不是问题,但我想我只是补充一点,如果您将数据发布到他们的网关,那么任何以开头的变量MC_都将在另一端返回给您。我不确定这是否有帮助!

于 2009-11-12T14:37:24.200 回答