【问题标题】:how to disable email confirmation when user creates an account in mvc asp identity当用户在 mvc asp 身份中创建帐户时如何禁用电子邮件确认
【发布时间】:2016-02-17 19:39:53
【问题描述】:

当用户在 MVC asp.net identity 2.0 中创建帐户时,我需要禁用电子邮件确认

【问题讨论】:

  • 你做研究了吗?
  • 是的,但没有找到任何帮助

标签: asp.net asp.net-mvc asp.net-identity


【解决方案1】:

在启动时配置 aspnet 身份时使用以下内容

在 ConfigureServices() 中

services.AddIdentity<ApplicationUser, IdentityRole>(config =>
{
   config.SignIn.RequireConfirmedEmail = false;
})

然后,在登录期间验证凭据时,Aspnet 身份将不会检查 EmailConfirmed 标志。

【讨论】:

    【解决方案2】:

    如果您使用的是 ASP.Net MVC,只需在注册时确认即可。如果您使用的是 ASP.Net Core,请考虑 Tom 的回答。

    public async Task<ActionResult> Register(RegisterViewModel model)
    {
        if (ModelState.IsValid)
        {
            var user = new ApplicationUser 
            { 
                UserName = model.Email, 
                Email = model.Email, 
                EmailConfirmed = true,
            };
            var result = await UserManager.CreateAsync(user, model.Password);
            if (result.Succeeded)
            {
                await SignInManager.SignInAsync(user, isPersistent:false, rememberBrowser:false);
                    
                return RedirectToAction("Index", "Home");
            }
            AddErrors(result);
        }
        return View(model);
     }
    

    【讨论】:

      【解决方案3】:

      您可以使用此方法代替其他情况,因为将来您可能希望通过发送链接来确认用户的电子邮件

         services.AddIdentity<ApplicationUser, IdentityRole>(options => 
              {
                  options.SignIn.RequireConfirmedAccount = false;
                  options.SignIn.RequireConfirmedEmail = false;
                  options.SignIn.RequireConfirmedPhoneNumber = false;
              })
      

      【讨论】:

        猜你喜欢
        • 2014-10-20
        • 1970-01-01
        • 2021-06-16
        • 1970-01-01
        • 1970-01-01
        • 2020-12-25
        • 2016-11-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多