1

ログイン情報が実際に送信されるredirectPageを取るユニバーサルログインページを作成しようとしています。

アプリの流れはこんな感じです。

  1. ユーザー名を入力してログインし、独自の認証を行う
  2. 認証されると、関連のない 2 つの変数 ( varA、varB ) を取得します。
  3. ここで、varA と varB を post 経由で redirectPage に送信する必要があります。セッション変数やクエリ文字列を実行したくありません。フォームから投稿するのと同じように、リダイレクトして投稿したいと思っています。

私がこれまでSOで見てきたのは、クライアントが投稿して応答を得ているところです。このページにもリダイレクトしたい応答は気にしません。

4

1 に答える 1

0

これには(実際にそうであるように)往復の費用がかかりますResponse.Redirect()が、それはあなたが望むことを行うための健全な方法です.

public void ReirectPost(string redirectUrl, Dictionary<string,string> vars)
{
  Response.Clear();

  StringBuilder sb = new StringBuilder();
  sb.Append("<html>");
  sb.AppendFormat(@"<body onload='document.forms[""form""].submit()'>");
  sb.AppendFormat("<form name='form' action='{0}' method='post'>", redirectUrl);
  foreach(var v in vars)
    sb.AppendFormat("<input type='hidden' name='{0}' value='{1}'>", v.Key, v.Value);

  sb.Append("</form></body></html>");

  Response.Write(sb.ToString());
  Response.End();
}
于 2013-02-12T21:01:05.967 に答える