ASP.NET Core 的用户注册功能:Identity上手

(给DotNet加星标,提升.Net技能)

转自:不咬人的蚊子

cnblogs.com/oukichi/p/9955791.html

首先请using这个类库

这个类库老牛逼了,首先是包含了一个IdentityUser类。我们可以自己写一个User类继承IdentityUser,这样一来,很多属性我就不用手动建了。

如你所见,我的User没有Emai这个字段,但是IdentityUser有这个字段。

如何把用户发来的数据变成一个User并且存入数据库?

显然,得先创建并且连接一个数据库。

创建数据库如果使用VSStudio是贼容易的一件事,只需要打开'视图菜单',然后点开'SQL Server对象资源管理器'。然后你就看到下面这个图。

在上面点右键然后添加一个SQL服务器,然后在服务器上点右键查看属性,可以得到链接字符串。

这种简单的操作显然难不住你。下一步把连接字符串放到appsetting.json里面,下面这是一种推荐做法。你当然可以直接粘贴到你的startUp.cs文件中。不过谁会这么做呢?

下一步要用这个连接字符串连上你的数据库。注意带颜色的字。

经过上面的配置,controller里面就可以注入很多方法。这下你看起来牛逼多了。

数据库连上了,接下来是真枪实弹的创建一个用户,是时候写controller了

建一个随便什么controller吧。我建的是UserController,你可以随你的便。关我屌事呢?

在controller的构造函数里面注入一个UserManager的类,这个类也是Identity提供的。

这个UserManager有贼多的方法,这里我只用一个,createAsync方法。

用Postman模拟一个请求。你注意到那个FromBody了吗?这个标记可以把发过来的json请求解析成User格式。

这里有一个新手大坑。如果你的 [FromBody] User _user这里写的是[FromBody] string _user, 你就不能用json格式发。会报什么json解析错误。

发送请求以后去看看你的数据库吧。已经创建好了一个User对象并且存到了你的数据库里。

这么多字段都是来自IdentityUser类,其中只有那个pass字段是我自己UserClass里面的。

最后补充【关于Migration】:

如果你报500错误,说什么表名无效的话。你需要做一下Migration。说白了就是:让数据库的表结构和你代码的Model结构相同。

比如你现在有了一个UserModel,可是数据库没有User这个表。

怎么Migration?

简单

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181115B0QP5600?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券