Warm tip: This article is reproduced from serverfault.com, please click

security-使用身份在.net核心应用程序中强制使用2FA

(security - Enforce use of 2FA in .net core application using identity)

发布于 2020-02-03 16:49:46

我已使用此处的指南在.net核心mvc应用程序中设置了2因子身份验证。 这一切都很好,但是它依赖于用户进入其帐户并设置2FA。有什么方法可以强制用户执行此操作,以便所有用户都必须使用2FA?

Questioner
jfdi
Viewed
0
Nan Yu 2020-02-04 10:47:55

一种方法是在登录过程中通过以下方式检查用户是否设置了2FA:

var user = await _userManager.FindByEmailAsync(Input.Email);
var twoFactorEnabled = user.TwoFactorEnabled;

如果为false,则可以将用户重定向到配置2FA page(./Manage/TwoFactorAuthentication),在用户设置2FA并启用2FA之后,TwoFactorEnabledAspNetUserstable中将是True,然后在登录过程中,身份将自动将用户重定向到./LoginWith2fa2FA登录页面(如果当前)用户的TwoFactorEnabled值为true。