用户是否可以通过电子邮件或电话号码以asp .net core 2身份进行注册?
我将其设置为true,但是我想检查其中之一是否为true,然后用户可以登录网站
config.SignIn.RequireConfirmedEmail = true; config.SignIn.RequireConfirmedPhoneNumber = true;
答案 0 :(得分:0)
很可能您正在使用asp.net身份。在asp.net中,身份使用signinmanager类
var result = await _signInManager.PasswordSignInAsync
PasswordSignInAsync方法被重载为
_signInManager.PasswordSignInAsync(string UserName, string Password, bool RememberMe,
bool lockoutOnFailure);
或
_signInManager.PasswordSignInAsync(TUser User, string Password, bool RememberMe,
bool lockoutOnFailure);
默认情况下,它对string username
使用第一种方法。在为User
分配了电子邮件或电话号码后,您可以使用第二种方法。
要找到用户,您可以使用UserManager(您还需要为此进行依赖注入)。请尝试以下操作:
var currentUser= await _userManager.FindByEmailAsync(String email);
var result = await _signInManager.PasswordSignInAsync(currentUser, Input.Password, Input.RememberMe, true);