0

我在一个网站上工作来管理我的公司用户。基本上它允许登录、注册、更改数据等。我做这个网站是因为我们想让每个产品的客户统一。如果我已经注册了某些产品,那么我可以登录到其他产品。

从某个产品站点到用户站点(或从用户站点到产品站点)的所有重定向都是通过 POST 进行的,因为如果有用户登录,则票证太长而无法使用 GET。这导致 302 结果与用于从其他系统访问的用户站点的 URL(具有所有需要的参数)以及在 200 与用户站点的正确页面之后。

假设我尝试进入某个需要身份验证的页面,我会得到以下结果:

因此,在 Chrome 或 Safari 中,当我从登录页面点击返回按钮时,我将被重定向到 somePageWhichNeedsAuthentication。但是从 IE 或 Firefox 会重定向到访问页面或 somePageWhichNeedsAuthenticatedUser,我真的不知道,但其中任何一个页面都会重定向回登录页面,所以除非我快速点击两次按钮,否则它不会工作。

我该如何解决这个问题?

更新

做一些其他测试我发现了另一种情况:我尝试登录(不访问需要身份验证的某些页面)所以结果如下:

Chrome 和 Safari 再次完美。Firefox 正在重定向到http://www.myDomain.com/Login。最后,一旦您单击“登录”链接,IE 就会失败,因为它不允许状态 302 响应内容。所以我必须用 200 强制http://www.myDomain.com/Login的响应。这让 Firefox 做同样的事情(对于 IE 也一样)。

更新 2

这里有一个firefox的日志。由于打开了其他一些选项卡,因此在示例一之前有一些请求。我已经完成了第二个示例。产品域是http://localhost/MktWeb,用户域是http://usuarios2.nosis.com.arhttp://www.yourfilelink.com/get.php?fid=719269

4

1 回答 1

2

Firefox 不允许通过历史记录返回 3xx 响应。因此,如果您看到这种情况发生,那么无论您的网站实际在做什么,都与您上面的描述不符。

于 2011-10-18T13:50:00.470 回答