0

基本的に...ユーザーが私のサイトにログインするときはいつでも、暗号化された顧客データを使用してCookieを作成します。問題ありません。

ただし、サードパーティサイトのユーザーがログインリンクをクリックした場合、これと同じ暗号化されたカスタマーCookieを作成するだけでなく、サードパーティサイトで生成されたURLから作成した「returnURL」にリダイレクトする必要があります。

それも問題ありません。'returnURL'は適切なマッピングなどを取得します。ただし、 "response.sendRedirect(returnURL)"を呼び出すと、Cookieと同じドメインのサードパーティサイトにリダイレクトされます(これは正しいです)。 ..しかし、すべてのクッキーはもうなくなっています。

なぜこれが起こっているのか考えていますか?

前もって感謝します!

4

1 に答える 1

0

編集:OPがASP.NETについて尋ねたかのように答えましたが、実際にはJSPについて話しました。参考までに回答をここに残しておきますが、質問とは関係ありません。

Response.Redirect();which を実行してResponse.End();呼び出されると (2 番目のパラメーターとして true を渡すか、2 番目のパラメーターをまったく渡さない)、ユーザーのセッション情報を初めて書き込む場合は、セッション データが失われます。たとえば、ログイン後、次のように設定できます。

Session["userId"] = userId;
Response.Redirect("admin.aspx");

解決策は電話することです

Response.Redirect("admin.aspx", false);

リダイレクト時にセッションがまだ存在しない場合にのみ、セッション データが失われます。ここで設定されないのは、セッション データ自体ではなく、セッションを識別する Cookie です。

Betrand LeRoy はこれをより詳細に説明しています。

http://weblogs.asp.net/bleroy/archive/2004/08/03/207486.aspx

于 2012-05-11T10:21:32.047 に答える