首页 > 解决方案 > 在 Asp .net core 2 中使用电话号码或电子邮件注册

问题描述

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

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

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

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

解决方案


很可能您正在使用 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 usernameUser分配电子邮件或电话号码后,您可以使用第二种方法。

要查找用户,您可以使用 UserManager(您还需要为此进行依赖注入)。尝试以下操作:

var currentUser= await _userManager.FindByEmailAsync(String email);
var result = await _signInManager.PasswordSignInAsync(currentUser, Input.Password, Input.RememberMe, true);

推荐阅读