使用电子邮件身份核心登录

时间:2020-07-15 08:22:47

标签: c# asp.net-core asp.net-identity

我希望能够使用电子邮件登录到我的网站,但似乎已设置了身份,以便signInManager接受用户名而不是电子邮件登录。我已经看到了他们使用{{1} }来获取用户名,然后将其传递给我,但是当我尝试使用它时,我得到一个红色的波浪形的提示

“ UserManager 不包含'FindByEmail'的定义,并且没有可访问的扩展方法'FindByEmail'接受类型为'UserManager '的第一个参数”

我认为这是因为我使用的是Asp.Net Core,而不是Asp.Net。

FindByEmail()

1 个答案:

答案 0 :(得分:2)

基于documentation,没有方法 internal IQueryable<TEntity> Select( Expression<Func<TEntity, bool>> filter = null, Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>> orderBy = null, List<Expression<Func<TEntity, object>>> includes = null, int? page = null, int? pageSize = null, bool disableTracking = true) { IQueryable<TEntity> query = _dbSet; if (includes != null) { query = includes.Aggregate(query, (current, include) => current.Include(include)); } if (orderBy != null) { query = orderBy(query); } if (filter != null) { query = query.AsExpandable().Where(filter); } if (page != null && pageSize != null) { query = query.Skip((page.Value - 1) * pageSize.Value).Take(pageSize.Value); } return query; } 。仅FindByEmail存在。因此,将您的代码更改为如下

FindByEmailAsync