如何在MVC ASP Identity中禁用用户创建帐户时的电子邮件确认

15

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


2
你做过任何研究吗? - hagello
是的,我尝试了,但没有找到任何帮助。 - Lucy
@Lucy 那你要么没有尝试过有困难的阅读,要么真的不应该写代码。 - Brandon Osborne
3个回答

32
在启动时配置aspnet身份验证时,请使用以下内容:
在ConfigureServices()中实现。
services.AddIdentity<ApplicationUser, IdentityRole>(config =>
{
   config.SignIn.RequireConfirmedEmail = false;
})

登录时,Aspnet身份验证将不会检查EmailConfirmed标志以验证凭据。


18

如果你正在使用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);
 }

8

您可以使用此方法而不是其他方法,因为未来可能需要发送链接以确认用户的电子邮件地址

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接