您好我一直在使用Indentity 2.0或以前的版本,但我想知道如何拆分用户名和电子邮件?目前它只根据用户名登录,如何切换这个以便用户名与登录名分开?
目前使用:
var user = await UserManager.FindAsync(model.Email, model.Password);
然后使用SignInASync,但如何将其更改为使用电子邮件?虽然它说FindASync model.Email(它仍然只能通过用户名获取正确的用户)如果我重命名用户名 - 与电子邮件不同,我无法登录。
答案 0 :(得分:1)
UserManager.FindAsync
方法正在使用用户名和密码。只有在VS2013的默认模板中,才会将电子邮件用作用户名。不要被这个愚弄,只需更改您的用户注册过程,这样他们就可以提供用户名和电子邮件,并使用提供的用户名和电子邮件创建新用户。
之后,新用户将能够使用用户名登录,而不是使用电子邮件登录。作为转换,建议允许用户通过用户名或电子邮件登录(对于仅使用电子邮件注册的用户)。