public async Task <IActionResult> VerifyCode(VerifyCodeViewModel model) { if (!ModelState.IsValid) { return(View(model)); } // The following code protects for brute force attacks against the two factor codes. // If a user enters incorrect codes for a specified amount of time then the user account // will be locked out for a specified amount of time. var result = await _signInManager.TwoFactorSignInAsync(model.Provider, model.Code, model.RememberMe, model.RememberBrowser); if (result.Succeeded) { return(RedirectToLocal(model.ReturnUrl)); } if (result.IsLockedOut) { _logger.LogWarning(7, "User account locked out."); return(View("Lockout")); } else { ModelState.AddModelError(string.Empty, "Invalid code."); return(View(model)); } }
public async Task <ActionResult> VerifyCode(VerifyCodeViewModel model) { if (!ModelState.IsValid) { return(View(model)); } // Le code suivant protège des attaques par force brute contre les codes à 2 facteurs. // Si un utilisateur entre des codes incorrects pendant un certain intervalle, le compte de cet utilisateur // est alors verrouillé pendant une durée spécifiée. // Vous pouvez configurer les paramètres de verrouillage du compte dans IdentityConfig var result = await SignInManager.TwoFactorSignInAsync(model.Provider, model.Code, isPersistent : model.RememberMe, rememberBrowser : model.RememberBrowser); switch (result) { case SignInStatus.Success: return(RedirectToLocal(model.ReturnUrl)); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.Failure: default: ModelState.AddModelError("", "Code non valide."); return(View(model)); } }
public async Task <ActionResult> VerifyCode(VerifyCodeViewModel model) { if (!ModelState.IsValid) { return(View(model)); } // 下列程式碼保護兩個因素碼不受暴力密碼破解攻擊。 // 如果使用者輸入不正確的代碼來表示一段指定的時間,則使用者帳戶 // 會有一段指定的時間遭到鎖定。 // 您可以在 IdentityConfig 中設定帳戶鎖定設定 var result = await SignInManager.TwoFactorSignInAsync(model.Provider, model.Code, isPersistent : model.RememberMe, rememberBrowser : model.RememberBrowser); switch (result) { case SignInStatus.Success: return(RedirectToLocal(model.ReturnUrl)); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.Failure: default: ModelState.AddModelError("", "代碼無效。"); return(View(model)); } }
public async Task <ActionResult> VerifyCode(VerifyCodeViewModel model) { if (!ModelState.IsValid) { return(View(model)); } // El código siguiente protege de los ataques por fuerza bruta a los códigos de dos factores. // Si un usuario introduce códigos incorrectos durante un intervalo especificado de tiempo, la cuenta del usuario // se bloqueará durante un período de tiempo especificado. // Puede configurar el bloqueo de la cuenta en IdentityConfig var result = await SignInManager.TwoFactorSignInAsync(model.Provider, model.Code, isPersistent : model.RememberMe, rememberBrowser : model.RememberBrowser); switch (result) { case SignInStatus.Success: return(RedirectToLocal(model.ReturnUrl)); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.Failure: default: ModelState.AddModelError("", "Código no válido."); return(View(model)); } }
public async Task <ActionResult> VerifyCode(VerifyCodeViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var rememberMe = ViewBag.Settings.RememberMeEnabled && model.RememberMe; var rememberBrowser = ViewBag.Settings.TwoFactorEnabled && ViewBag.Settings.RememberBrowserEnabled && model.RememberBrowser; SignInStatus result = await SignInManager.TwoFactorSignInAsync(model.Provider, model.Code, isPersistent : rememberMe, rememberBrowser : rememberBrowser); switch (result) { case SignInStatus.Success: return(await RedirectOnPostAuthenticate(model.ReturnUrl, model.InvitationCode)); case SignInStatus.LockedOut: AddErrors(ViewBag.IdentityErrors.UserLocked()); return(View(model)); case SignInStatus.Failure: default: AddErrors(ViewBag.IdentityErrors.InvalidTwoFactorCode()); return(View(model)); } }
public async Task <ActionResult> VerifyCode(VerifyCodeViewModel model) { if (!ModelState.IsValid) { return(View(model)); } // 次のコードは、2 要素コードに対するブルート フォース攻撃を防ぎます。 // ユーザーが誤ったコードを入力した回数が指定の回数に達すると、ユーザー アカウントは // 指定の時間が経過するまでロックアウトされます。 // アカウント ロックアウトの設定は IdentityConfig の中で構成できます。 var result = await SignInManager.TwoFactorSignInAsync(model.Provider, model.Code, isPersistent : model.RememberMe, rememberBrowser : model.RememberBrowser); switch (result) { case SignInStatus.Success: return(RedirectToLocal(model.ReturnUrl)); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.Failure: default: ModelState.AddModelError("", "無効なコード。"); return(View(model)); } }
public async Task <ActionResult> VerifyCode(VerifyCodeViewModel model) { if (!ModelState.IsValid) { return(View(model)); } // Následující kód chrání dvoufaktorové kódy před útoky hrubou silou. // Pokud uživatel zadává v určeném časovém intervalu nesprávné kódy, uživatelský účet // bude na zadanou dobu uzamčen. // Nastavení uzamčení účtu lze nakonfigurovat pomocí nastavení IdentityConfig var result = await SignInManager.TwoFactorSignInAsync(model.Provider, model.Code, isPersistent : model.RememberMe, rememberBrowser : model.RememberBrowser); switch (result) { case SignInStatus.Success: return(RedirectToLocal(model.ReturnUrl)); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.Failure: default: ModelState.AddModelError("", "Neplatný kód"); return(View(model)); } }
public async Task <ActionResult> VerifyCode(VerifyCodeViewModel model) { if (!ModelState.IsValid) { return(View(model)); } // Der folgende Code schützt vor Brute-Force-Angriffen der zweistufigen Codes. // Wenn ein Benutzer in einem angegebenen Zeitraum falsche Codes eingibt, wird das Benutzerkonto // für einen bestimmten Zeitraum gesperrt. // Sie können die Einstellungen für Kontosperren in "IdentityConfig" konfigurieren. var result = await SignInManager.TwoFactorSignInAsync(model.Provider, model.Code, isPersistent : model.RememberMe, rememberBrowser : model.RememberBrowser); switch (result) { case SignInStatus.Success: return(RedirectToLocal(model.ReturnUrl)); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.Failure: default: ModelState.AddModelError("", "Ungültiger Code."); return(View(model)); } }
public async Task <ActionResult> VerifyCode(VerifyCodeViewModel model) { if (!ModelState.IsValid) { return(View(model)); } // The following code protects for brute force attacks against the two factor codes. // If a user enters incorrect codes for a specified amount of time then the user account // will be locked out for a specified amount of time. // You can configure the account lockout settings in IdentityConfig var result = await SignInManager.TwoFactorSignInAsync(model.Provider, model.Code, isPersistent : model.RememberMe, rememberBrowser : model.RememberBrowser); switch (result) { case SignInStatus.Success: return(RedirectToLocal(model.ReturnUrl)); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.Failure: default: ModelState.AddModelError("", "Invalid code."); return(View(model)); } }
public async Task <ActionResult> VerifyCode(VerifyCodeViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var result = await SignInManager.TwoFactorSignInAsync(model.Provider, model.Code, isPersistent : false, rememberBrowser : model.RememberBrowser); switch (result) { case SignInStatus.Success: var user = UserManager.FindByIdAsync(model.UserId); await SignInAsync(user.Result, false); return(RedirectToLocal(model.ReturnUrl)); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.Failure: default: ModelState.AddModelError("", "Código Inválido."); return(View(model)); } }
public async Task <ActionResult> VerifyCode(VerifyCodeViewModel model) { if (!ModelState.IsValid) { return(View(model)); } // 以下代码可以防范双重身份验证代码遭到暴力破解攻击。 // 如果用户输入错误代码的次数达到指定的次数,则会将 // 该用户帐户锁定指定的时间。 // 可以在 IdentityConfig 中配置帐户锁定设置 var result = await SignInManager.TwoFactorSignInAsync(model.Provider, model.Code, isPersistent : model.RememberMe, rememberBrowser : model.RememberBrowser); switch (result) { case SignInStatus.Success: return(RedirectToLocal(model.ReturnUrl)); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.Failure: default: ModelState.AddModelError("", "代码无效。"); return(View(model)); } }
public async Task <ActionResult> VerifyCode(VerifyCodeViewModel model) { if (!ModelState.IsValid) { return(View(model)); } // Приведенный ниже код защищает от атак методом подбора, направленных на двухфакторные коды. // Если пользователь введет неправильные коды за указанное время, его учетная запись // будет заблокирована на заданный период. // Параметры блокирования учетных записей можно настроить в IdentityConfig var result = await SignInManager.TwoFactorSignInAsync(model.Provider, model.Code, isPersistent : model.RememberMe, rememberBrowser : model.RememberBrowser); switch (result) { case SignInStatus.Success: return(RedirectToLocal(model.ReturnUrl)); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.Failure: default: ModelState.AddModelError("", "Неправильный код."); return(View(model)); } }
public async Task <SignInStatus> TwoFactorSignInAsync(ApplicationSignInManager signInManager, string provider, string code, bool rememberMe, bool rememberBrowser) { var result = await signInManager.TwoFactorSignInAsync(provider, code, rememberMe, rememberBrowser); return(result); }
public async Task<ActionResult> VerifyCode(VerifyCodeViewModel model) { if (!ModelState.IsValid) { return View(model); } var result = await SignInManager.TwoFactorSignInAsync(model.Provider, model.Code, isPersistent: false, rememberBrowser: model.RememberBrowser); switch (result) { case SignInStatus.Success: return RedirectToLocal(model.ReturnUrl); case SignInStatus.LockedOut: return View("Lockout"); case SignInStatus.Failure: default: ModelState.AddModelError("", "Invalid code."); return View(model); } }
public async Task <IHttpActionResult> VerifyCode(VerifyCode model) { if (!ModelState.IsValid) { BadRequest(ModelState); } var result = await _AppSignInManager.TwoFactorSignInAsync(model.Provider, model.Code, isPersistent : model.RememberMe, rememberBrowser : model.RememberBrowser); switch (result) { case SignInStatus.Success: return(Ok(model.ReturnUrl)); case SignInStatus.LockedOut: return(BadRequest("Lockout")); case SignInStatus.Failure: default: ModelState.AddModelError("", "Código Inválido."); return(BadRequest(model.Code)); } }
public async Task <SignInStatus> TwoFactorSignInAsync(string provider, string code, bool isPersistent, bool rememberBrowser) { return(await ApplicationSignInManager.TwoFactorSignInAsync(provider, code, isPersistent, rememberBrowser)); }
public async Task <SignInStatus> VerifyCode(VerifyCodeViewModel model) { var result = await _signInManager.TwoFactorSignInAsync(model.Provider, model.Code, isPersistent : model.RememberMe, rememberBrowser : model.RememberBrowser); return(result); }
public async Task <SignInStatus> ObterStatusLoginTwoFactorAuthentication(string provedor, string codigo, bool rememberMe) { return(await _signInManager.TwoFactorSignInAsync(provedor, codigo, false, rememberMe)); }