Asp.net 核心力量用户确认邮箱
Asp.net core force user to confirm email
如标题所示,我试图强制用户在让他登录之前确认电子邮件。我是根据 Microsoft 教程做的,并且写到我必须添加
o.SignIn.RequireConfirmedEmail = true;
我做了什么,但它不会阻止我登录,即使我没有确认我的电子邮件
services.AddIdentity<Company, IdentityRole>
(o =>
{
// configure identity options
o.Password.RequireDigit = false;
o.Password.RequireLowercase = false;
o.Password.RequireUppercase = false;
o.Password.RequireNonAlphanumeric = false;
o.Password.RequiredLength = 6;
o.SignIn.RequireConfirmedEmail = true;
o.Tokens.EmailConfirmationTokenProvider = EmailConfirmationTokenProviderName;
})
.AddEntityFrameworkStores<ShopContext>()
.AddTokenProvider<ConfirmEmailDataProtectorTokenProvider<Company>>(EmailConfirmationTokenProviderName);
我正在使用 jwt 令牌身份验证,在这种情况下我做了比我展示的更多的事情吗?
在 Login
操作开始时添加检查帐户是否已确认
var user = await _userManager.FindByEmailAsync(model.Email);
if (user != null)
{
if (!await _userManager.IsEmailConfirmedAsync(user))
{
ModelState.AddModelError(string.Empty,
"You must have a confirmed email to log in.");
return View(model);
}
}
还记得防止新注册用户通过 Register
操作
中的评论 await _signInManager.SignInAsync(user, isPersistent: false);
自动登录
阅读更多official docs
如标题所示,我试图强制用户在让他登录之前确认电子邮件。我是根据 Microsoft 教程做的,并且写到我必须添加
o.SignIn.RequireConfirmedEmail = true;
我做了什么,但它不会阻止我登录,即使我没有确认我的电子邮件
services.AddIdentity<Company, IdentityRole>
(o =>
{
// configure identity options
o.Password.RequireDigit = false;
o.Password.RequireLowercase = false;
o.Password.RequireUppercase = false;
o.Password.RequireNonAlphanumeric = false;
o.Password.RequiredLength = 6;
o.SignIn.RequireConfirmedEmail = true;
o.Tokens.EmailConfirmationTokenProvider = EmailConfirmationTokenProviderName;
})
.AddEntityFrameworkStores<ShopContext>()
.AddTokenProvider<ConfirmEmailDataProtectorTokenProvider<Company>>(EmailConfirmationTokenProviderName);
我正在使用 jwt 令牌身份验证,在这种情况下我做了比我展示的更多的事情吗?
在 Login
操作开始时添加检查帐户是否已确认
var user = await _userManager.FindByEmailAsync(model.Email);
if (user != null)
{
if (!await _userManager.IsEmailConfirmedAsync(user))
{
ModelState.AddModelError(string.Empty,
"You must have a confirmed email to log in.");
return View(model);
}
}
还记得防止新注册用户通过 Register
操作
await _signInManager.SignInAsync(user, isPersistent: false);
自动登录
阅读更多official docs