Naz*_*ain 16 asp.net-mvc identity asp.net-mvc-5 asp.net-identity asp.net-identity-2
在MVC5 Identity 2中,SignInManager.PasswordSignInAsync获取登录用户名.
var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
Run Code Online (Sandbox Code Playgroud)
但我的用户名和电子邮件不一样.但我想通过电子邮件地址登录.所以我该怎么做?谢谢
tmg*_*tmg 35
通过电子邮件从UserManager获取用户.
var user = UserManager.FindByEmail(email);
Run Code Online (Sandbox Code Playgroud)
然后使用SignInManager的PasswordSignInAsync和用户的用户名
var result = await SignInManager
.PasswordSignInAsync(user.UserName,password,isPersistent,shouldLockout);
Run Code Online (Sandbox Code Playgroud)
或者在你的SignInManager里面添加这个方法(ASP.NET身份讨论)
public async Task<SignInStatus> PasswordEmailSignInAsync(string email, string password, bool isPersistent, bool shouldLockout)
{
var user = UserManager.FindByEmail(email);
return await PasswordSignInAsync(user.UserName,password,isPersistent,shouldLockout);
}
Run Code Online (Sandbox Code Playgroud)
然后使用与PasswordSignInAsync相同但使用用户电子邮件而不是usermane.
| 归档时间: |
|
| 查看次数: |
10280 次 |
| 最近记录: |