c# - 数据库存储库中基于策略的访问
问题描述
目前我正在构建一个 webapp,它应该非常安全。这个 web 应用程序存在一个 Angular 前端和一个 .NET Core 后端。Auth0 用于安全性,使用他们的 Lock 产品。为了限制访问,Auth0 提供了范围。此范围可与 .NET Core 中基于策略的访问结合使用。
要限制访问,您可以添加[Authorize("read:customers")]
例如,仅当用户有权读取客户时才允许用户。但是,Authorize 属性只能在控制器中使用。
有时,用户应该对订单具有写入权限,但在这种情况下,订单也会更改用户不应访问的另一个表中的某些数据。
我正在考虑在存储库中添加授权。只有当它们的范围对于该操作是正确的时,才应该发生数据库更改。这可能吗。当然,我可以在每个存储库方法中添加一个 if 语句,它检查用户的范围,但是是否有内置属性或函数来验证用户是否可以访问特定方法?
解决方案
推荐阅读
- java - 使用 Oracle Java ORB 使用命名服务查找时如何指定网络接口
- java - 使用 java/GSON 解析大型 JSON,无法读取 JSON 结构
- php - 无论数据表中的分页如何,都导出所有数据
- python - 我的代码在从网站中提取数据时随机刹车(python)
- typescript - 如何正确投影 valueMap() 列表?
- javascript - 如何使用javascript通过其在firebase中的值删除父键
- p5.js - 有没有办法用 p5 绘制一个 matter.js 组合?
- wordpress - 如何修复帖子特色图片在移动设备上模糊?
- python - 如何使用 python 将文件粘贴到 windows 的启动文件夹中?
- c++ - 检查孩子的名字并关闭并打开它不起作用