【发布时间】:2016-02-17 19:39:53
【问题描述】:
当用户在 MVC asp.net identity 2.0 中创建帐户时,我需要禁用电子邮件确认
【问题讨论】:
-
你做研究了吗?
-
是的,但没有找到任何帮助
标签: asp.net asp.net-mvc asp.net-identity
当用户在 MVC asp.net identity 2.0 中创建帐户时,我需要禁用电子邮件确认
【问题讨论】:
标签: asp.net asp.net-mvc asp.net-identity
在启动时配置 aspnet 身份时使用以下内容
在 ConfigureServices() 中
services.AddIdentity<ApplicationUser, IdentityRole>(config =>
{
config.SignIn.RequireConfirmedEmail = false;
})
然后,在登录期间验证凭据时,Aspnet 身份将不会检查 EmailConfirmed 标志。
【讨论】:
如果您使用的是 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);
}
【讨论】:
您可以使用此方法代替其他情况,因为将来您可能希望通过发送链接来确认用户的电子邮件
services.AddIdentity<ApplicationUser, IdentityRole>(options =>
{
options.SignIn.RequireConfirmedAccount = false;
options.SignIn.RequireConfirmedEmail = false;
options.SignIn.RequireConfirmedPhoneNumber = false;
})
【讨论】: