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登录授权认证并实现前台会员.后台管理员同时登录>我们做过了登录认证, ...
随机推荐
- JS基础常识理解
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 【BZOJ4197】[Noi2015]寿司晚宴 状压DP+分解质因数
[BZOJ4197][Noi2015]寿司晚宴 Description 为了庆祝 NOI 的成功开幕,主办方为大家准备了一场寿司晚宴.小 G 和小 W 作为参加 NOI 的选手,也被邀请参加了寿司晚宴 ...
- EasyPlayer Android安卓RTSP服务器低延时再优化策略
EasyPlayer低延迟再优化策略 EasyPlayer是一款专门针对RTSP协议进行过优化的播放器.其中两个我们引以为傲的的优点就是起播快和低延迟.最近我们遇到一些需求,其对延迟要求非常苛刻,于是 ...
- Linux Tomcat的安装
inux版本:CentOS 6.2 iso文件下载地址:http://mirrors.163.com/centos/6.2/isos/i386/CentOS-6.2-i386-bin-DVD1.iso ...
- 【题解】P3258松鼠的新家
[题解][P3258 JLOI2014]松鼠的新家 树链剖分板子题. 总结一点容易写错的地方吧: if(d[top[u]]<d[top[v]]) swap(u,v);注意是\(top\). 在\ ...
- 我的Android进阶之旅------>直接拿来用!最火的Android开源项目
转载于CSDN,相关链接如下: http://www.csdn.net/article/2013-05-03/2815127-Android-open-source-projects http://w ...
- 流畅的python学习笔记第八章:深拷贝,浅拷贝,可变参数
首先来看赋值,浅拷贝,深拷贝. 一赋值: a=['word',2,3] b=a print id(a),id(b) print [id(x) for x in a] print [id(x) for ...
- python cookbook第三版学习笔记七:python解析csv,json,xml文件
CSV文件读取: Csv文件格式如下:分别有2行三列. 访问代码如下: f=open(r'E:\py_prj\test.csv','rb') f_csv=csv.reader(f) for f in ...
- POJ - 3984 迷宫问题 【BFS】
题目链接 http://poj.org/problem?id=3984 思路 因为要找最短路 用BFS 而且 每一次 往下一层搜 要记录当前状态 之前走的步的坐标 最后 找到最短路后 输出坐标就可以了 ...
- 基础 PHP 语法
PHP 脚本在服务器上执行,然后向浏览器发送回纯 HTML 结果. 基础 PHP 语法 PHP 脚本可放置于文档中的任何位置. PHP 脚本以 <?php 开头,以 ?> 结尾: < ...