ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 14. ASP.NET Core Identity 入门

默认的身份认证好授权系统



UserManager用来操作用户的类,

Singi用来身份认证的

添加AccountController

先声明SignInManager和UserManager这两个服务

快捷键Ctrl+.

两个都需要分别进行Ctrl+.快速的生成

创建登陆的Action Login

建立View

创建LoginViewModel

主要是用户名和密码两个字段



登陆的逻辑

注册的逻辑



退出的逻辑

创建regiser的视图页面

在_Lauout里面添加了注册和登陆的链接


点击注册发现报错了。没有注册服务

注册服务

这里按照官方文档来就可以了

这里么有ApplicationDbContext


这里修改为IdentityContext

先进行数据迁移

报错,项目里面多余一个DbContext。一个是自己的DbConext 一个是Identity的DbContext

所以需要指定具体的DbContect


注册服务的时候,指明迁移的类库名称

再次尝试成功





上面只是配置了DbConext,还需要注册IdentityUser的服务


前面多加了一个叹号

密码严格要求了

参考官方文档:把这块复制过去进行修改



判断用户登陆成功后就不再显示,注册和登陆的按钮,在View页面注册ItentityUser





运行页面并不好用,没有使用中间件

登陆成功后

授权

添加一个学生,要求只有登陆的用户才可以进去添加
授权使用Authorize这个属性,这样就只有登陆的用户才可以访问这个Create页面

这个标签可以作用于Controller也可以作用于action,这里我们先作用于Create的两个Action就可以了

Authorize属性也可以加一些参数。。。、这里展示先不加
测试页面。

需要一个LoginPartial页面,一旦没有权限就会跳转到这个页面。这里我们先不做,

 

原文地址:https://www.cnblogs.com/wangjunwei/p/10925306.html