如何在用户使用mvc asp身份创建帐户时禁用电子邮件确认

时间:2016-02-17 19:39:54

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

当用户在MVC asp.net identity 2.0

中创建帐户时,我需要禁用电子邮件确认

3 个答案:

答案 0 :(得分:8)

在启动

中配置aspnet标识时使用以下命令

在ConfigureServices()

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

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

答案 1 :(得分:7)

在注册时只需确认即可。

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);
 }

答案 2 :(得分:3)

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

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