フォーム認証モジュールはReturnUrl
、ユーザーをログオン ページにリダイレクトするときに、クエリ文字列で a を渡します。このログオン フォームが表示されたら、ブラウザのアドレス バーを見てください。
したがって、ログオンに成功すると、この URL にリダイレクトできます。
MVC アプリケーションを作成したときに作成されたデフォルトの AccountController には、例もあります。
[HttpPost]
public ActionResult Login(LoginModel model, string returnUrl)
{
if (ModelState.IsValid)
{
if (Membership.ValidateUser(model.UserName, model.Password))
{
FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
if (Url.IsLocalUrl(returnUrl))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Index", "Home");
}
}
else
{
ModelState.AddModelError("", "The user name or password provided is incorrect.");
}
}
// If we got this far, something failed, redisplay form
return View(model);
}
LogOn アクションが ReturnUrl パラメーターを受け取る方法に注意してください。認証が成功すると、ユーザーが最初に要求していたページにユーザーをリダイレクトします。
しかし、明らかにこれは、ターゲット URL が GET 要求でアクセスできる場合にのみ機能します。