ASP.NET Core会议管理平台实战_3、认证、授权表迁移
可以参考老张的这个文章:
https://www.cnblogs.com/laozhang-is-phi/p/10660403.html
创建这个类库

看一下IdentityUser是在哪一个库下面。Microsoft.Extensions.Identity.Stores
shiyon
使用Nuget去添加这个库。去实现IdentityUser

这个类也是提前就建好的。CongerenceConrseIdentityUser

继承IdentityUser

比如说我们要对用户禁用,默认是没有这个参数的。现在我们添加一个属性,Disabled属性
对Using进行删除和排序,就是删除多余的Using引用

创建ConferenIdentityDbContext数据库上下文的类


Nuget添加包


如果想添加其他的类,也可以去新建类,例如下面这个角色的类,继承的也是IdentityRole这个角色相关的类
项目表的迁移
在ConferenceCourse.Core类库下新建类ApiResources 里面定义两个常量

再新建类ApiScopes

同样是定义两个常量

ConferenceCourse.IdentityServer添加类库ConferenceCourse.Core的引用

这样Config类里面的返回的ApiResource就添加引用了Core的命名空间的引用
配置客户端
第一个是认证个授权管理中心,第二服务端是基础接口,第三个是会议前台
也是复制过来的代码,有一些代码清理了,后续在来配置

这里使用的是Credentials的方式,这里不允许使用Token,因为token暴露在浏览器是不大安全的

第二个这里用的是组合模式。

这里是跨域

身份认证与授权服务,这里允许的Scopes是ConferenceBase

对应的就是这个常量base
startup配置
这是官方文档,意思是直接拷贝官方文档的这个地方的代码

视频中直接从自己写好的代码里复制过去了 ,然后又进行了一些删除和修改,我是真的蛋疼了。
添加包的引用

添加包的引用: IdentityServer4.AspNetIdentity

主要是这里用到 IdentityServer4.AspNetIdentity这个包

这里有两个EF的上下文:ConferenceCourseIdentityDbContext,还有一个PersistedGrantDbContext

PersistedGrantDbContext是在这个包里面

然后去添加这个包的引用

AddConfigurationStore是在哪个命名空间下?

然后添加这个包的引用:IdentityServer4.EntityFramework

迁移直接读的json文件内的配置

复制过来的这一段


这样就完成了IdentityServer的配置。我只想说,这他妈的什么玩意啊
代码完成后,进行讲解
通过整理添加IdentityServer

这里进行了封装
这里是开发者签名的方式

初始化数据生成表

通过运行去进行迁移。先生成迁移类,二是运行代码,然后地道用migrate

下面进行迁移
看官方文档是这两个上下文。直接复制过去


这里就会生成了


这里还添加了这个ConferenceCourseIdentityDbContext这个库的迁移

再去迁移ConferenceCourseDbContext

运行代码就会重新生成数据库,就是编译代码。就会自动去生成数据库文件了。
讲解本节课的主要内容
配置了标准的IdentityResource的几个Resource openid

然后创建了两个api resource,一个是基础服务的,一个是会议管理平台的Resource

然后是客户端,一共有四个客户端。一个是授权认证的客户端,都采用ClientId ClientSecret的方式进行授权,也就是ClientCrendentials这种方式

然后是Startup
app.UseIdentityServer里面就已经添加了app.UseAuthentication()。所以这里不需要再添加app.UseAuthentication()这个中间件了

在这里初始化数据库,刚才忘记了 ,然后需要重新编译代码,这样就会生成数据库和表了。

程序运行起来

打开sql server 数据库

这个库主要是对用户的管理


ASP.NET Core会议管理平台实战_3、认证、授权表迁移的更多相关文章
- ASP.NET Core会议管理平台实战_汇总贴
ASP.NET Core会议管理平台实战 课程地址:https://ke.qq.com/course/389673?from=800004097#term_id=100464670 ASP.NET C ...
- ASP.NET Core会议管理平台实战_2、基本概念的理解
id Token携带用户的信息 AccessToken:是否有权限访问资源 看数据库的表,Client相关的表,api的相关的表 Resources把用户的简介抽象出来到IdentityClaims表 ...
- ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置
登陆和注册之前,需要封装 前端参数的校验,ajax的封装 参数校验,创建公共的类 ,它是一个静态类 这样在调用的时候,直接一句话就可以了,这就是封装的好处 空字符串的校验 调用方式 EF的源码里面有这 ...
- ASP.NET Core会议管理平台实战_1、开篇介绍
用到四个数据库
- Asp.Net Core 2.0 项目实战(2)NCMVC一个基于Net Core2.0搭建的角色权限管理开发框架
Asp.Net Core 2.0 项目实战(1) NCMVC开源下载了 Asp.Net Core 2.0 项目实战(2)NCMVC一个基于Net Core2.0搭建的角色权限管理开发框架 Asp.Ne ...
- Asp.Net Core 2.0 项目实战(3)NCMVC角色权限管理前端UI预览及下载
Asp.Net Core 2.0 项目实战(1) NCMVC开源下载了 Asp.Net Core 2.0 项目实战(2)NCMVC一个基于Net Core2.0搭建的角色权限管理开发框架 Asp.Ne ...
- Asp.Net Core 2.0 项目实战(7)MD5加密、AES&DES对称加解密
本文目录 1. 摘要 2. MD5加密封装 3. AES的加密.解密 4. DES加密/解密 5. 总结 1. 摘要 C#中常用的一些加密和解密方案,如:md5加密.RSA加密与解密和DES加密等, ...
- Asp.Net Core 2.0 项目实战(10) 基于cookie登录授权认证并实现前台会员、后台管理员同时登录
1.登录的实现 登录功能实现起来有哪些常用的方式,大家首先想到的肯定是cookie或session或cookie+session,当然还有其他模式,今天主要探讨一下在Asp.net core 2.0下 ...
- Asp.Net Core 2.0 项目实战(11) 基于OnActionExecuting全局过滤器,页面操作权限过滤控制到按钮级
1.权限管理 权限管理的基本定义:百度百科. 基于<Asp.Net Core 2.0 项目实战(10) 基于cookie登录授权认证并实现前台会员.后台管理员同时登录>我们做过了登录认证, ...
随机推荐
- 谷歌postman插件的安装与使用
下载地址:http://pan.baidu.com/s/1kTh1g4B 安装方法: 1.下载并解压 2.解压后.打开谷歌浏览器.选择很多其它工具→扩展程序,如图 3.勾选开发人员模式 4.选择载入正 ...
- python网络爬虫之初识网络爬虫
第一次接触到python是一个很偶然的因素,由于经常在网上看连载小说,很多小说都是上几百的连载.因此想到能不能自己做一个工具自动下载这些小说,然后copy到电脑或者手机上,这样在没有网络或者网络信号不 ...
- 流畅python学习笔记:第十六章:协程
通常在python进行编程一般都是使用多线程或者多进程来实现.这里介绍另外一种并发的方式,就是协程,但和多线程以及多进程不一样的是,协程是运行在单线程当中的并发.来看下具体的例子: def simpl ...
- MLGBZ
April cloudy, boss rainy, told me he want to kick But coming so,Formosa Heart sad , Down,down,down W ...
- linux下tar.xz结尾文件的解压方法
xz -d ***.tar.xz tar -xvf ***.tar 可以看到这个压缩包也是打包后再压缩,外面是xz压缩方式,里层是tar打包方式.
- STemWin显示汉字 — SD卡外挂XBF字库
转载注明出处 方法来自安福莱教程 1: 使用emWin自带小工具生成字库 (1)启动软件 选择4位抗锯齿 (2)根据需求选择字体类型和字体大小 (3)另存为XBF格式 2: 创建XBF字体 #inc ...
- 怎么升级iOS10教程
在前两天的开发者大会上刚推出了iOS10,我介绍一下怎么升级到iOS10的办法.所有人只用一个iPhone就可以升级到iOS10,不需要电脑,也不需要开发者账号. http://bbs.feng.co ...
- 51Nod 1486 大大走格子 —— 组合数学
题目链接:https://vjudge.net/problem/51Nod-1486 1486 大大走格子 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: ...
- laravel基础课程---15、分页及验证码(lavarel分页效果如何实现)
laravel基础课程---15.分页及验证码(lavarel分页效果如何实现) 一.总结 一句话总结: 数据库的paginate方法:$data=\DB::table("user" ...
- 分享知识-快乐自己:搭建第一个 Hibernate (Demo)
使用 Hibernate 完成持久化操作 七大 步骤: 1.读取并解析配置文件及映射文件: Configuration configuration=new Configuration().config ...