要件は次のとおりです。
セッションがクリアされたら、ユーザーをホームページに戻し、Windows 認証プロンプトを使用して強制的に再ログインさせます。
現在の状況:
0 になると、セッションが終了したことを示すアラートを送信する JavaScript カウントダウン タイマーがあります。私ができるようにしたいのは、Javascriptまたはサーバーへのポストバックを介して、ユーザーの資格情報をクリアすることです
私が読んだ/試したこと:
HttpContext.Response を設定するサーバーへの AJAX ポスト、および HttpException(401) のスロー
[HttpPost]
public ActionResult ForceRelogin()
{
//HttpContext.Response.StatusCode = 401;
//HttpContext.Response.End();
//return RedirectToAction("Index", "Home");
//throw new HttpException(401, "");
return new HttpStatusCodeResult(HttpStatusCode.Unauthorized);
}
これらはどちらも AJAX では機能しないようです。送信を伴わないコントローラー アクションへの通常のポスト バックを引き起こす方法がわかりません。
質問:
Active-X を使用したり、IE 設定を変更したりせずに、ユーザーに Windows 認証資格情報を再認証させるにはどうすればよいですか? おまけの質問: サブミットや AJAX を使用せずに、javascript から MVC コントローラー アクションにポストバックするにはどうすればよいですか?