SenseNet:如何覆盖组权限而不是用户权限?

时间:2019-03-29 08:01:39

标签: c# asp.net sensenet

我正在使用SenseNet V 6.3社区版

步骤1:我已将节点type=mongo region=us的允许权限设置为用户p

步骤2:xyz@xyz.com从用户p访问节点xyz@xyz.com(成功)

步骤3:我已将节点Node.LoadNode()的拒绝权限设置为用户p

第4步:我已经设置了节点xyz@xyz.com的允许权限,以将p作为成员进行分组

步骤5:xyz@xyz.com从用户p访问节点xyz@xyz.com(错误)

遇到Node.LoadNode()错误。

似乎没有覆盖组权限而不是用户权限,或者似乎没有覆盖最新权限

我该如何实现

感谢进阶

1 个答案:

答案 0 :(得分:2)

这是设计使然: deny 权限总是比 allow 强。因此,如果为用户设置了显式拒绝,则不能通过组允许同一事物。设置权限的时间或是否为组或用户的时间都没有关系:规则是拒绝覆盖允许。

这就是为什么使用 deny 应该是最后的选择的原因。最好删除用户的允许权限,而不是通过组允许。

有关破坏权限,本地权限以及整个权限系统的详细信息,请访问this article