私は会社のユーザーを管理するためのサイトで働いています。基本的にはログイン、登録、データ変更などができます。すべての商品のお客様を統一したいので、このサイトをやっています。ある製品に登録した場合は、他の製品にログインできます。
一部の製品サイトからユーザーサイトへの(またはユーザーサイトから製品サイトへの)すべてのリダイレクトはPOSTによって行われます。これは、ログインしているユーザーがいる場合、チケットが長すぎてGETを使用できないためです。これにより、他のシステムからのアクセスに使用されるユーザーサイトのURL(必要なすべてのパラメーターを含む)で302の結果が発生し、ユーザーサイトの適切なページで200の後に結果が発生します。
認証が必要なページにアクセスしようとすると、次の結果が得られます。
- GET http://www.myDomain.com/somePageWhichNeedsAuthenticatedUser 401(無許可)
- POST http://users.myDomain.com/Access?parameters 302
- GET http://users.myDomain.com/Login 200
そのため、ChromeまたはSafariでは、ログインページから戻るボタンを押すと、somePageWhichNeedsAuthenticationにリダイレクトされます。しかし、IEまたはFirefoxからは、AccessページまたはsomePageWhichNeedsAuthenticatedUserにリダイレクトされますが、実際にはわかりませんが、そのページのいずれかがログインページにリダイレクトされるため、ボタンを2回すばやく押さないと機能しません。
この問題を解決するにはどうすればよいですか?
アップデート
他のいくつかのテストを行って、私はこの他のケースを見つけました:私はログインしようとします(認証を必要とするいくつかのページにアクセスしないでください)ので、ここに結果があります:
- GET http://www.myDomain.com/Login 302
- POST http://users.myDomain.com/Access?parameters 302
- GET http://users.myDomain.com/Login 200
ChromeとSafariも完璧です。Firefoxはhttp://www.myDomain.com/Loginにリダイレクトしています。そして最後に、「ログイン」リンクをクリックするとすぐにIEは失敗します。これは、コンテンツを含むステータス302の応答を許可しないためです。したがって、http://www.myDomain.com/Loginの応答を200で強制する必要があります。これにより、Firefoxは同じことを実行し続けます(IEでも同じです)。
アップデート2
ここにFirefoxのログがあります。開かれた他のタブのために、例の前にいくつかの要求があります。2番目の例を実行しました。製品ドメインはhttp://localhost/MktWebで、ユーザードメインはhttp://usuarios2.nosis.com.arです。http://www.yourfilelink.com/get.php?fid=719269