您的位置:首页 >聚焦 >

.NET 云原生架构师训练营(权限系统 系统演示 ActionAccess)--学习笔记

2022-02-27 12:39:37    来源:程序员客栈

▲点击上方“DotNet NB”关注公众号

回复“1”获取开发者路线图

学习分享丨作者/郑子铭

这是DotNetNB公众号的第194篇原创文章

目录

模块拆分

环境配置

默认用户

ActionAccess

模块拆分环境配置

mysql

migration

mysql

docker pull mysqldocker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root@dotnetnb666 -d mysql

name:容器名,此处命名为mysql

e:配置信息,此处配置mysql的root用户的登陆密码

p:端口映射,此处映射 主机3306端口 到 容器的3306端口

d:后台运行容器,保证在退出终端后容器继续运行

migration

切换到 refactor 分支

PM> Install-Package Microsoft.EntityFrameworkCore.ToolsPM> Update-Package Microsoft.EntityFrameworkCore.ToolsPM> Get-Help about_EntityFrameworkCorePM> Update-Database -Context DotNetNBIdentityDbContextPM> Update-Database -Context ApplicationDbContext默认用户

在配置文件 appsettings.json 中设置默认用户

Username:admin

Password:Pa$$word666

"IdentityData": {"Roles": [ { "Name": "admin" }],"Users": [ { "Username": "admin", "Password": "Pa$$word666", "Email": "MingsonZheng@outlook.com", "Roles": [ "admin" ], "Claims": [ { "Type": "name", "Value": "admin" } ] }]},ActionAccess

完成环境配置之后,将项目 DotNetNB.WebApplication 设置为启动项目,启动之后可以看到 swagger 文档

请求 WeatherForecast 接口,返回 403 未授权,需要添加权限

https://localhost:7018/WeatherForecast

请求 Resource 接口获取 WeatherForecast 接口的 key 为 WeatherForecast-Get-GET

https://localhost:7018/Resource

为 WeatherForecast 接口 创建一个 permission

https://localhost:7018/Permission

参数

{ "key": "weather", "group": "weather", "displayName": "weather", "description": "weather related api", "resources": [ "WeatherForecast-Get-GET" ]}

查看所有 permission,可以看到刚刚创建的 permission

https://localhost:7018/Permission

将 permission 赋值给 admin 用户

https://localhost:7018/Permission/addtouser?username=admin&permission=weather

查看 admin 用户的 permission

https://localhost:7018/Permission/user/admin

登录 admin 用户获取 token

https://localhost:7018/Authentication/login

使用 token 请求 WeatherForecast 接口,可以拿到返回

https://localhost:7018/WeatherForecast

赋权之后需要重新登录,获取新的 token,因为新的 token 才会包含新赋值的权限

GitHub源码链接:

https://github.com/MingsonZheng/dotnetnb.securityrefactor 分支

课程链接

.NET云原生架构师训练营讲什么,怎么讲,讲多久

推荐阅读:《Kubernetes全栈架构师(Kubeadm高可用安装k8s集群)--学习笔记》《.NET 云原生架构师训练营(模块一 架构师与云原生)--学习笔记》《.NET Core开发实战(第1课:课程介绍)--学习笔记》

点击下方卡片关注DotNet NB

一起交流学习

▲点击上方卡片关注DotNet NB,一起交流学习

请在公众号后台

回复【路线图】获取.NET 2021开发者路线图回复【原创内容】获取公众号原创内容回复【峰会视频】获取.NET Conf开发者大会视频回复【个人简介】获取作者个人简介回复【年终总结】获取作者年终总结回复【加群】加入DotNet NB交流学习群长按识别下方二维码,或点击阅读原文。和我一起,交流学习,分享心得。

关键词: 年终总结 配置文件 原创文章

相关阅读