文章目录
- 项目地址
- 一、Presentation 层
- 1.1 数据库migration
- 1. 添加数据库连接字符串
- 2. 创建自动Migration/Seed
- 3.修改Entity添加private 构造函数
- 4. 执行迁移
- 1.2 全局错误处理中间件
- 1.3 Controller 添加
- 1. Apartments
- 2. Bookings
- 3. 测试
- 二、Authentiacation
- 2.1 添加Keycloak服务
- 1. 配置docker-compose
- 2. 添加Client
- 3. 测试服务
- 2.2 生成jwt
- 1. 添加Jwt服务
- 2. 创建AuthenticationOptions
- 3. 配置JwtBearerOptions
- 4. 测试
- 2.3 创建注册Controller
- 1. 创建Command
- 2. 注册使用的接口IAuthenticationService
- 3. 修改User实体
- 4. 创建Handler
- 5. 创建Controller
- 2.4 实现Jwt服务
- 2.5 创建User表
- 2.6 创建登录
- 1. 创建登录的Command
- 2. Handler
- 3. Jwt Service 创建
- 4. 创建Login Controller
- 5. 测试
- 三、Authorization
- 3.1 添加权限
- 1. 添加me的controller
- 2. 创建角色表
- 3. 给User实例添加角色列表
- 4. 修改Repository
- 5. 测试
- 3.2 添加属性控制权限
项目地址
- 教程作者:
- 教程地址:
- 代码仓库地址:
- 所用到的框架和插件:
dbt
airflow
一、Presentation 层
1.1 数据库migration
1. 添加数据库连接字符串
2. 创建自动Migration/Seed
3.修改Entity添加private 构造函数
- 出现错误
- 给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服务
- 添加授权和鉴权的中间件在
program.cs
-
安装jwt包
-
添加服务
2. 创建AuthenticationOptions
-
用于配置JWT选项
-
在
appsettings.json
里,将该选项需要的字段
3. 配置JwtBearerOptions
- 将AuthenticationOptions绑定
4. 测试
- 给之前需要认证的Controller添加认证
- 使用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. 测试
-
在不登录情况下无法访问apartment接口
-
登录后,可以访问
三、Authorization
70-
3.1 添加权限
1. 添加me的controller
2. 创建角色表
3. 给User实例添加角色列表
- 在创建User的时候,直接将角色添加到User表里
4. 修改Repository
- 自动添加角色