MVC身份2 - 帐户确认电子邮件

时间:2014-08-26 19:05:53

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

我正在使用身份2进行注册并在新的MVC解决方案中登录,我编写了注册表,以便在有人注册时发送确认电子邮件但我仍然可以在不验证的情况下登录(点击验证链接在电子邮件中。

我使用了通过Nuget安装Indentity 2时提供的标准代码。 我也使用了这个例子http://www.typecastexception.com/post/2014/04/20/ASPNET-Identity-20-Setting-Up-Account-Validation-and-Two-Factor-Authorization.aspx#Account-Validation:-How-it-works,我得到了同样的结果。

我误解了这个吗?我以为我无法登录,直到根据其他所有网站进行验证。

1 个答案:

答案 0 :(得分:2)

登录过程本身没有任何内容强制确认电子邮件。似乎示例项目不关心登录目的,但他们会在允许重置密码之前进行检查。因此,如果您愿意,可以根据需要调整代码以添加到您的登录操作中。基本上,你只需要做一些事情:

if (!(await UserManager.IsEmailConfirmedAsync(user.Id)))
{
    ModelState.AddModelError("", "E-mail address has not been confirmed");
}

if (ModelState.IsValid)
{
    ...