首页 > 解决方案 > 数据库存储库中基于策略的访问

问题描述

目前我正在构建一个 webapp,它应该非常安全。这个 web 应用程序存在一个 Angular 前端和一个 .NET Core 后端。Auth0 用于安全性,使用他们的 Lock 产品。为了限制访问,Auth0 提供了范围。此范围可与 .NET Core 中基于策略的访问结合使用。

要限制访问,您可以添加[Authorize("read:customers")]例如,仅当用户有权读取客户时才允许用户。但是,Authorize 属性只能在控制器中使用。

有时,用户应该对订单具有写入权限,但在这种情况下,订单也会更改用户不应访问的另一个表中的某些数据。

我正在考虑在存储库中添加授权。只有当它们的范围对于该操作是正确的时,才应该发生数据库更改。这可能吗。当然,我可以在每个存储库方法中添加一个 if 语句,它检查用户的范围,但是是否有内置属性或函数来验证用户是否可以访问特定方法?

标签: c#asp.net-coreef-core-2.2

解决方案


推荐阅读