ASP.NetCoreIdentity中的两级身份验证在2021年如何实现?
创始人
2024-09-17 22:00:16
0

可以通过在ASP.Net Core Identity中添加另一个用户属性来实现两级身份验证。以下是实现方案的代码示例:

  1. 创建一个自定义用户属性,以存储用户的验证状态。

public class ApplicationUser : IdentityUser { public bool TwoFactorEnabled { get; set; } }

  1. 在Startup.cs文件中,添加以下配置,以启用ASP.Net Core Identity中的两级身份验证:

services.AddIdentity() .AddEntityFrameworkStores() .AddDefaultTokenProviders() .AddTokenProvider>(TokenOptions.DefaultProvider);

services.Configure(options => options.TokenLifespan = TimeSpan.FromMinutes(15));

services.AddAuthentication() .AddGoogle(options => { options.ClientId = Configuration["Authentication:Google:ClientId"]; options.ClientSecret = Configuration["Authentication:Google:ClientSecret"]; options.SignInScheme = "Identity.External"; }) .AddMicrosoftAccount(options => { options.ClientId = Configuration["Authentication:Microsoft:ClientId"]; options.ClientSecret = Configuration["Authentication:Microsoft:ClientSecret"]; options.SignInScheme = "Identity.External"; });

  1. 在AccountController.cs文件中,添加以下代码,以启用ASP.Net Core Identity中的两级身份验证功能:

[HttpPost] [ValidateAntiForgeryToken] public async Task EnableTwoFactorAuthentication() { var user = await UserManager.GetUserAsync(User); if (user == null) { return NotFound(); }

user.TwoFactorEnabled = true;
var result = await UserManager.UpdateAsync(user);
if (!result.Succeeded)
{
    ModelState.AddModelError("", "Error enabling two-factor authentication.");
    return View();
}

await SignInManager.RefreshSignInAsync(user);
return RedirectToAction(nameof(Index), "Manage");

}

  1. 在Login.cshtml.cs文件中,将以下代码添加到OnPostAsync方法中,以验证用户已启用两级身份验证:

if (user.TwoFactorEnabled) { return RedirectToPage("./LoginWith2fa", new { ReturnUrl = returnUrl, RememberMe = Input.RememberMe }); }

如果用户

相关内容

热门资讯

我来教大家!佛手在线是不是有挂... 我来教大家!佛手在线是不是有挂,德州辅助工具到底怎么样,一贯真的是有挂(有挂攻略)1、点击下载安装,...
新手必备!哈糖大菠萝软件下载,... 新手必备!哈糖大菠萝软件下载,we poker游戏下,总是存在有挂(今日头条)1、脚本辅助下载、免费...
终于清楚!wepoker游戏的... 终于清楚!wepoker游戏的安装教程,wpk私人局有透视吗,本来有挂(有挂秘籍)1)辅助插件:进一...
科技通报!红龙poker辅助,... 科技通报!红龙poker辅助,pokemmo脚本辅助下载,原来是真的有挂(有挂详情)该软件可以轻松地...
总算明白!hhpoker作弊实... 总算明白!hhpoker作弊实战视频,wpk德州局透视,竟然存在有挂(有挂规律)1、完成有辅助插件,...
玩家必看科普!aa poker... 玩家必看科普!aa poker辅助,aapoker插件下载,果然真的是有挂(存在有挂)1、公共底牌简...
今日头条!wepoker辅助器... 今日头条!wepoker辅助器安装包定制,aapoker怎么开辅助器,切实是真的有挂(有挂攻略)1、...
总算了解!werplan怎么作... 总算了解!werplan怎么作弊,wepoker破解是真的还是假的,都是是真的有挂(有挂总结)1、模...
如何分辨真伪!pokemmo脚... 如何分辨真伪!pokemmo脚本辅助器下载,智星菠萝辅助,总是真的是有挂(发现有挂)1、任何透视是真...
查到实测辅助!wepoker有... 您好,这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩家在这款游戏中打...