Individual User Accounts
認証を使用してASP.NETコアWebプロジェクトを作成すると、VS2015が多くのアクションメソッドを使用してAccountController
を作成します。これらのアクションメソッドの大部分は、入力オプションパラメータstring returnUrl = null
を含んでおり、これらのメソッドの中にはViewData["ReturnUrl"] = returnUrl;
があります(下記の例を参照)。コントローラのアクションメソッドでViewData ["ReturnUrl"] = returnUrlを使用する方法
質問:
- このオプションの入力パラメータおよびこれらのアクションメソッド内の文の
ViewData["ReturnUrl"] = returnUrl;
の使用は何ですか? 2.アクションメソッドでこれらを使用する必要があるときはいつ使用しますか?
方法取得:
[HttpGet]
[AllowAnonymous]
public IActionResult Login(string returnUrl = null)
{
ViewData["ReturnUrl"] = returnUrl;
return View();
}
ポストメソッドを:
ページにユーザーを戻したいとき、あなたはあなたのビューに戻りURLを渡す必要があり[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Login(LoginViewModel model, string returnUrl = null)
{
ViewData["ReturnUrl"] = returnUrl;
if (ModelState.IsValid)
{
// This doesn't count login failures towards account lockout
// To enable password failures to trigger account lockout, set lockoutOnFailure: true
var result = await _signInManager.PasswordSignInAsync(model.UserName, model.Password, model.RememberMe, lockoutOnFailure: false);
if (result.Succeeded)
{
_logger.LogInformation(1, "User logged in.");
return RedirectToLocal(returnUrl);
}
if (result.RequiresTwoFactor)
{
return RedirectToAction(nameof(SendCode), new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
}
if (result.IsLockedOut)
{
_logger.LogWarning(2, "User account locked out.");
return View("Lockout");
}
else
{
ModelState.AddModelError(string.Empty, "Invalid login attempt.");
return View(model);
}
}
// If we got this far, something failed, redisplay form
return View(model);
}
のために取り外さHTMLの//残りの部分は、あなたの知識を共有していただきありがとうございます。 – nam