项目地址

  • 教程作者:
  • 教程地址:
  • 代码仓库地址:
  • 所用到的框架和插件:
dbt 
airflow

一、Presentation 层

在这里插入图片描述

1.1 数据库migration

1. 添加数据库连接字符串

2. 创建自动Migration/Seed

3.修改Entity添加private 构造函数

  1. 出现错误
    在这里插入图片描述
  2. 给Entity添加私有构造器解决

4. 执行迁移

  • 执行迁移
    在这里插入图片描述

1.2 全局错误处理中间件

1.3 Controller 添加

1. Apartments

2. Bookings

3. 测试

在这里插入图片描述

二、Authentiacation

56-70

在这里插入图片描述

2.1 添加Keycloak服务

1. 配置docker-compose

2. 添加Client

  • 这里我们通过json已经导入

3. 测试服务

2.2 生成jwt

1. 添加Jwt服务

  1. 添加授权和鉴权的中间件在program.cs

在这里插入图片描述

  1. 安装jwt包

  2. 添加服务

2. 创建AuthenticationOptions

  1. 用于配置JWT选项

  2. appsettings.json里,将该选项需要的字段

3. 配置JwtBearerOptions

  • 将AuthenticationOptions绑定

4. 测试

  1. 给之前需要认证的Controller添加认证
  2. 使用Post man,发现需要认证才可以

2.3 创建注册Controller

1. 创建Command

2. 注册使用的接口IAuthenticationService

3. 修改User实体

  • 添加身份识别ID和设置ID的方法

4. 创建Handler

5. 创建Controller

2.4 实现Jwt服务

2.5 创建User表

2.6 创建登录

1. 创建登录的Command

2. Handler

3. Jwt Service 创建

4. 创建Login Controller

5. 测试

  1. 在不登录情况下无法访问apartment接口

  2. 登录后,可以访问

在这里插入图片描述

三、Authorization

70-
在这里插入图片描述

3.1 添加权限

1. 添加me的controller

2. 创建角色表

3. 给User实例添加角色列表

  • 在创建User的时候,直接将角色添加到User表里

4. 修改Repository

  1. 自动添加角色

5. 测试

3.2 添加属性控制权限

Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐