.NET 云原生架构师训练营(权限系统 系统演示 ActionAccess)--学习笔记
▲点击上方“DotNet NB”关注公众号
回复“1”获取开发者路线图
学习分享丨作者/郑子铭
这是DotNetNB公众号的第194篇原创文章
目录模块拆分
环境配置
默认用户
ActionAccess
模块拆分环境配置mysql
migration
mysqldocker 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交流学习群长按识别下方二维码,或点击阅读原文。和我一起,交流学习,分享心得。相关阅读
-
世界热推荐:今晚7:00直播丨下一个突破...
今晚19:00,Cocos视频号直播马上点击【预约】啦↓↓↓在运营了三年... -
NFT周刊|Magic Eden宣布支持Polygon网...
Block-986在NFT这样的市场,每周都会有相当多项目起起伏伏。在过去... -
环球今亮点!头条观察 | DeFi的兴衰与...
在比特币得到机构关注之后,许多财务专家预测世界将因为加密货币的... -
重新审视合作,体育Crypto的可靠关系才能双赢
Block-987即使在体育Crypto领域,人们的目光仍然集中在FTX上。随着... -
简讯:前端单元测试,更进一步
前端测试@2022如果从2014年Jest的第一个版本发布开始计算,前端开发... -
焦点热讯:刘强东这波操作秀
近日,刘强东发布京东全员信,信中提到:自2023年1月1日起,逐步为...