ログインページを備えた単純な ASP.NET Web アプリケーションがあります。ユーザーが資格情報を入力してフォームを送信すると、サーバーが詳細を処理し、成功した場合は、Response.Redirect() によってユーザーがメイン メニュー ページに移動します。(ユーザーが同様の response.redirects を介して他のページに移動できるナビゲーション バーもあります)
お客様の 1 人が IBM Data Power Web アプリケーション ファイアウォールをセットアップしており、POST 後のこのリダイレクトは RFC 違反であり、その結果、アプリケーションが機能しないとのことでした。
Get/Post/Redirect に関連する質問がいくつかありますが、302 応答を get または post として使用するかどうかはブラウザーの裁量次第であることを示しています。また、公共のインターネット上で他のリンクも見つけたので、これは IBM デバイスが処理するように構成できるものであると確信しました。
IBM デバイス構成の変更を提案する前に、GET 要求でログイン資格情報を送信できる、またはすべてをサイトのポストバックは、POST の代わりに GET を使用しますか?
また、この IBM デバイスを使用するためのヒントをお持ちの方がいらっしゃいましたら、よろしくお願いいたします。
コードの例...
var userName = txtUserName.Text.Trim();
var password = txtPassword.Text.Trim();
var authResult = GetAuthService().AuthenticateUser(userName, password);
if (authResult == true)
{
//set forms auth cookie
Response.Redirect("Menu.aspx", false);
}
else
{
lblError.Text = "Unable to login";
}