首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Asp核心增加了一种新的通过身份注册用户的方式

Asp核心增加了一种新的通过身份注册用户的方式
EN

Stack Overflow用户
提问于 2017-08-07 22:25:46
回答 1查看 154关注 0票数 1

我有一个问题,我有一个网络应用程序在Asp Net Core 1.1.0上实现了经典身份模型,并使用OpenIddict进行授权。

在使用电子邮件/密码注册用户的经典实现中,我还需要认识到使用CodeNumber ( 15个字符的数字序列长度)作为登录名和PIN码(4个字符的数字组合)作为密码进行注册的可能性。

CodeNumber和PinCode将存储在与用户身份表分开的位置。

以便用户可以使用两种方法登录到系统

请告诉我如何在Asp .Net核心中实现这一点?提前谢谢你。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-07 23:55:56

简单地说,身份开箱即用的方式是通过用户名查询用户,然后通过比较密码自动登录。要以不同的方式处理问题,您只需对该过程进行更多的手动控制。而不是使用像UserManager.FindByNameAsync这样的东西,你可以简单地回退到你的上下文,并做一些如下的事情:

代码语言:javascript
复制
var user = db.Users.Where(m => m.CodeNumber == model.CodeNumber && m.PinCode == model.PinCode);
if (user == null)
{
    ModelState.AddModelError("", "Incorrect code number and/or pin code");
}

然后,如果用户存在,只需手动登录即可:

代码语言:javascript
复制
await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45549320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档