c# – ASP.NET Identity 2分离Email和UserName并使用Email登录
发布时间:2020-12-16 00:25:20 所属栏目:百科 来源:网络整理
导读:默认情况下,ASP.NET Identity将UserName和Email字段作为用户输入的电子邮件.我已经更改了它,以便我的系统为用户提供单独的用户名和电子邮件. 我的问题是现在我无法登录系统,因为Identity对UserName和Email都进行了检查. 我想知道是否有办法让这两个字段保持
默认情况下,ASP.NET Identity将UserName和Email字段作为用户输入的电子邮件.我已经更改了它,以便我的系统为用户提供单独的用户名和电子邮件.
我的问题是现在我无法登录系统,因为Identity对UserName和Email都进行了检查. 我想知道是否有办法让这两个字段保持独立和独特,同时能够检查电子邮件字段以便登录系统? 我注意到公共虚拟任务< SignInStatus> PasswordSignInAsync(字符串userName,字符串密码,bool isPersistent,bool shouldLockout);检查userName,但将此更改为电子邮件什么都不做,我仍然无法登录. 我还看了其他这些问题: ASP.Net UserName to Email Allowing both email and username for authentication 对于可能的解决方案,发现没有什么能让我做我想做的事. 还有什么我可以尝试以便拥有单独的用户名和电子邮件,同时仍然能够使用电子邮件字段登录吗? 解决方法
因此,看起来您只能使用用户名进行身份验证,但没有理由无法从电子邮件地址中找到用户名:
var user = await UserManager.FindByEmailAsync(model.Email); if (user == null) { return //some error or throw } var result = await SignInManager.PasswordSignInAsync(user.UserName,model.Password,model.RememberMe,shouldLockout: false); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |