【问题标题】:Can I use claims to secure EF fields using PostSharp?我可以使用声明来使用 PostSharp 保护 EF 字段吗?
【发布时间】:2014-08-12 16:41:20
【问题描述】:

可以使用基于声明的权限来使用 post sharp 保护 EF 字段。我们有一个多租户应用程序,我们正在处理它,并且还存在谁可以读/写哪些字段的问题。我看到了这个,但它似乎是基于角色的http://www.postsharp.net/aspects/examples/security

据我所知,这只是重写 ISecurable 部分的情况。

我们希望能够使用权限来装饰字段,如果用户没有权限,则可以静默忽略任何写入。我们还希望如果他们读到它,我们可以交换另一个值,例如如果您没有索赔 ReadSalary,请读取薪水并返回 0。

这些是标准的事情吗?我从未做过任何严肃的 AOP。所以在我提到这个选项之前只是想快速确认一下。

【问题讨论】:

    标签: entity-framework claims-based-identity postsharp aop claims


    【解决方案1】:

    是的,在这种情况下可以使用 PostSharp,将给定的示例从 RBAC 转换为基于声明的示例应该很容易。

    必须考虑的一件事是性能。如果在处理用例期间经常访问修饰字段(例如在循环中读取),那么大量时间会浪费在冗余安全检查上。装饰一个代表最终用户用例的方法会更合适。

    当用户没有足够的权限时,我会害怕默默地交换字段的值。当算法由人为的非预期数据提供时,它可能会导致一些非常令人惊讶的结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-08
      • 1970-01-01
      • 2023-03-26
      • 2012-08-03
      相关资源
      最近更新 更多