如何登录身份2使用电子邮件? [英] How to login using email in identity 2?

查看:215
本文介绍了如何登录身份2使用电子邮件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在MVC5身份2 SignInManager.PasswordSignInAsync采取用户名登录。

In MVC5 Identity 2 SignInManager.PasswordSignInAsync take user name for login.

var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);

但我的用户名和电子邮件都不尽相同。但我想对于login.So电子邮件地址我怎么能做到这一点?
谢谢

but my user name and email are not same. but i want to email address for login.So how can i do that? Thanks

推荐答案

这的UserManager通过电子邮件获取用户。

Get user from UserManager by email.

var user = UserManager.FindByEmail(email);

然后使用SignInManager的PasswordSignInAsync与用户的用户名

Then use SignInManager's PasswordSignInAsync with user's Username

var result = await SignInManager
.PasswordSignInAsync(user.UserName,password,isPersistent,shouldLockout);

或者你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);
}

然后同样用它作为PasswordSignInAsync但随着用户的电子邮件,而不是usermane。

Then use it same as PasswordSignInAsync but with user email instead of usermane.

这篇关于如何登录身份2使用电子邮件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆