Asp.net core Asp.net核心力量用户确认电子邮件
就像在标题中一样,我试图强迫用户在登录之前确认电子邮件。我是根据微软教程做事情的,有人写了我必须补充的内容 o、 SignIn.requireconfirmedail=true 我做了什么,但它不会阻止我登录,即使我没有确认我的电子邮件Asp.net core Asp.net核心力量用户确认电子邮件,asp.net-core,asp.net-core-webapi,asp.net-core-identity,Asp.net Core,Asp.net Core Webapi,Asp.net Core Identity,就像在标题中一样,我试图强迫用户在登录之前确认电子邮件。我是根据微软教程做事情的,有人写了我必须补充的内容 o、 SignIn.requireconfirmedail=true 我做了什么,但它不会阻止我登录,即使我没有确认我的电子邮件 services.AddIdentity<Company, IdentityRole> (o => { // configure identity options o.Password.
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);
services.AddIdentity
(o=>
{
//配置标识选项
o、 Password.RequireDigit=false;
o、 Password.RequireLowercase=false;
o、 Password.RequireUppercase=false;
o、 Password.RequireNonAlphanumeric=false;
o、 Password.RequiredLength=6;
o、 SignIn.requireconfirmedail=true;
o、 Tokens.EmailConfirmationTokenProvider=EmailConfirmationTokenProviderName;
})
.AddEntityFrameworkStores()
.AddTokenProvider(电子邮件确认TokenProviderName);
我正在使用jwt令牌身份验证。在这种情况下,我是否做了比我显示的事情更多的事情?添加检查帐户是否在
登录
操作开始时确认
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);
}
}
还请记住关于通过注释wait\u-signInManager.SignInAsync(user,isPersistent:false)防止新注册用户自动登录的内容代码>在寄存器中
操作
更多阅读我已经做了类似于您所展示的事情,那么是否有理由添加这一行o.SignIn.requireconfirmedail=true<代码>SignIn.RequireConfirmedEmail=true代码>正在使用激活链接发送邮件。当您将上面的代码应用于登录时,此链接是必需的,因为如果没有激活,您将无法登录login@J.多谢你的回答,这正是我想要的。我在考虑进一步改进。如果我想区分未确认电子邮件的用户和未经管理员确认的用户,该怎么办?我在考虑扩大重大成果,创造一个新成果。然后,我将隐藏SignIn方法,新方法调用base并检查adminifixed的附加值。这有意义吗?