在 Asp .net core 2 中使用 phone 号码或电子邮件注册
Register with phone number or Email in Asp .net core 2
用户是否可以通过电子邮件或 phone 号码在 asp .net core 2 身份中注册?
我将这些设置为 true,但我想检查其中一个是否为 true 然后用户可以登录站点
config.SignIn.RequireConfirmedEmail = 真;
config.SignIn.RequireConfirmedPhoneNumber = 真;
很可能您正在使用 asp.net 身份。在 asp.net 身份中使用 signinmanager class
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
电子邮件或 phone 号码后,您可以使用第二种方法。
要查找用户,您可以使用 UserManager(您也需要为此进行依赖注入)。尝试以下操作:
var currentUser= await _userManager.FindByEmailAsync(String email);
var result = await _signInManager.PasswordSignInAsync(currentUser, Input.Password, Input.RememberMe, true);
用户是否可以通过电子邮件或 phone 号码在 asp .net core 2 身份中注册?
我将这些设置为 true,但我想检查其中一个是否为 true 然后用户可以登录站点
config.SignIn.RequireConfirmedEmail = 真; config.SignIn.RequireConfirmedPhoneNumber = 真;
很可能您正在使用 asp.net 身份。在 asp.net 身份中使用 signinmanager class
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
电子邮件或 phone 号码后,您可以使用第二种方法。
要查找用户,您可以使用 UserManager(您也需要为此进行依赖注入)。尝试以下操作:
var currentUser= await _userManager.FindByEmailAsync(String email);
var result = await _signInManager.PasswordSignInAsync(currentUser, Input.Password, Input.RememberMe, true);