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登录授权认证并实现前台会员.后台管理员同时登录>我们做过了登录认证, ...
随机推荐
- ptyhon ORM mongoengine
参考资料:http://www.tuicool.com/articles/bMvI7vN from mongoengine import * from datetime import datetime ...
- toggle不支持事件代理的解决办法或者 jquery live绑定toggle
$(".xxx").live("click", function () { $(this).toggle(function () {},functio ...
- 【WinForm】创建自定义控件(转)
转自:http://www.cnblogs.com/bomo/archive/2012/12/09/2810559.html 虽然VS为我们提供了很多控件可以使用,但有时候这些控件仍然不能满足我们的要 ...
- php依据地理坐标获取国家、省份、城市,及周边数据类
功能:当App获取到用户的地理坐标时,能够依据坐标知道用户当前在那个国家.省份.城市.及周边有什么数据. 原理:基于百度Geocoding API 实现.须要先注冊百度开发人员.然后申请百度AK(密钥 ...
- python数据分析之:数据加载,存储与文件格式
前面介绍了numpy和pandas的数据计算功能.但是这些数据都是我们自己手动输入构造的.如果不能将数据自动导入到python中,那么这些计算也没有什么意义.这一章将介绍数据如何加载以及存储. 首先来 ...
- ABAP alv report
*&---------------------------------------------------------------------* *& Report YTST_FF_ ...
- 关于引用WebLogic.jar时遇到NoClassDefFoundError问题的解决方法
前段时间在做一个项目开发时,需要用到weblogic.jndi.WLInitialContextFactory,所以按照以前的经验,将WebLogic.jar添加到Build Path中.可是在执行时 ...
- luoguP3769 [CH弱省胡策R2]TATT
luoguP3769 [CH弱省胡策R2]TATT PS:做这题前先切掉 P4148简单题,对于本人这样的juruo更助于理解,当然dalao就当练练手吧 题目大意: 现在有n个四维空间中的点,请求出 ...
- ios 7 Autolayout bug
ios 7 Autolayout bug 错误类型:NSInternalInconsistencyException(SIGABRT) 详情:Auto Layout still required af ...
- 安装与设置hexo
普通用户(非全局)安装nodejs和npm wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh nvm ins ...