zoukankan      html  css  js  c++  java
  • 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 数据库



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










     

  • 相关阅读:
    How to Set up Cplex Dev Environment under Linux
    矿大linux下拨号上网的一个方法——利用NetworkManager
    4月4日在写协议分析器中遇到的问题:对类指针的直接赋值中遇到的问题
    新篇章的开始
    纠结N久,还是开通了博客园,希望跟大家多多交流吧
    SQL去重distinct方法解析
    接口测试基础知识介绍
    Appium是什么
    appium环境配置
    appium操作
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/11006472.html
Copyright © 2011-2022 走看看