• 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 数据库



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










     

  • 相关阅读:
    微软面试题
    20个开源项目托管站点推荐
    iis配置好后,解决打开服务器要输入用户名和密码的问题
    C# 调用带输入输出参数的存储过程
    line-height属性总结
    placeholder的字体样式改变,滚动条的颜色改变,ios日期兼容
    表格使用总结
    网页html结构搭建方法总结
    css中的inline-block
    css常用居中
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/11006472.html
Copyright © 2020-2023  润新知