【发布时间】:2017-11-24 08:38:29
【问题描述】:
在aspnet core identity2.0中,有没有办法通过电话号码找到用户? UserManager 可以通过用户名和电子邮件找到用户,但没有通过电话找到,甚至更好的是,提供了一个通用的find(Func<TUser, bool>) 函数。当用户注册电话时,需要检查给定的电话号码是否已经存在,因为一个电话不能被两个用户使用。
编辑
开始验证码:
services.AddIdentity<AccountUser, IdentityRole>()
.AddEntityFrameworkStores<AccountDbContext>()
.AddDefaultTokenProviders();
services.AddAuthentication().AddJwtBearer(...);
【问题讨论】:
-
你的 startup.Auth 是什么样的?您是否覆盖了任何 OWIN 组件?如果没有,您将需要创建一个新的自定义
UserStore,如果您希望在UserManager中使用这个,也可能需要一个新的。 -
我没有使用OWIN,只是身份,你能详细说明一下UserStore吗?
-
现在我想起来了。为什么不直接查询表?您可以跳过一大堆障碍来覆盖所有身份验证组件,但如果您真的想知道该用户名是否唯一,只需检查数据库即可?
-
是的,对,我在 api 控制器中得到了 DbContext,所以无论如何应该可以查询。不应该专注于 UserManager 方法,谢谢!
标签: c# asp.net-core asp.net-identity