在Asp .net core 2中用电话号码或电子邮件注册

时间:2019-01-26 08:36:20

标签: asp.net-identity asp.net-core-2.0 identity asp.net-core-2.1

用户是否可以通过电子邮件或电话号码以asp .net core 2身份进行注册?

我将其设置为true,但是我想检查其中之一是否为true,然后用户可以登录网站

config.SignIn.RequireConfirmedEmail = true; config.SignIn.RequireConfirmedPhoneNumber = true;

1 个答案:

答案 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);