我可以使用PostSharp使用声明保护EF字段吗?

时间:2014-08-01 09:02:47

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

可以使用基于声明的权限来使用post sharp保护EF字段。我们有一个多租户应用程序,我们正在转向索赔,也有谁可以读/写哪些领域的问题。我看到了这一点,但似乎基于角色http://www.postsharp.net/aspects/examples/security

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

我们希望能够使用权限装饰字段,并且如果用户没有权限,则默默地忽略任何写入。我们也在跳,如果他们读了它我们可以交换另一个值,例如如果你没有索赔ReadSalary,请阅读薪水并返回0。

这些标准的事情要做我从来没有做过任何严肃的AOP。所以在我提到这个选项之前,我只想快速确认一下。

1 个答案:

答案 0 :(得分:1)

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

必须考虑的一件事是表现。当在处理用例期间频繁访问装饰字段(例如,在循环内读取)时,在冗余安全检查中浪费了大量时间。装饰代表最终用户用例的方法会更合适。

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