如何在 SenseNet 中覆盖用户权限的组权限?
How to override groups permission over users permission in SenseNet?
我使用的是 SenseNet V 6.3 社区版。
我正在执行这些步骤:
我已将节点 p
的权限设置为用户 xyz@xyz.com
通过Node.LoadNode()
从用户xyz@xyz.com
访问节点p
(成功)
我已将节点 p
的拒绝权限设置为用户 xyz@xyz.com
我已经设置允许节点 p
的权限到成员为 xyz@xyz.com
的组
通过 Node.LoadNode()
从用户 xyz@xyz.com
访问节点 p
(错误)
我收到 Access Denied
错误。
似乎没有覆盖用户权限的组权限,或者似乎没有覆盖最新的权限。
我怎样才能做到这一点?
这是设计使然:deny 权限始终强于 allow。因此,如果您为用户设置显式拒绝,则您不能允许通过组进行相同的操作。设置权限的时间或者是组还是用户都无所谓:规则是拒绝覆盖允许。
这就是为什么使用 deny 应该是最后的选择。最好删除 用户的允许权限,而不是通过组允许它。
有关破坏权限、本地权限和整个权限系统的详细信息,请访问this article。
我使用的是 SenseNet V 6.3 社区版。
我正在执行这些步骤:
我已将节点
p
的权限设置为用户xyz@xyz.com
通过
Node.LoadNode()
从用户xyz@xyz.com
访问节点p
(成功)我已将节点
p
的拒绝权限设置为用户xyz@xyz.com
我已经设置允许节点
p
的权限到成员为xyz@xyz.com
的组通过
Node.LoadNode()
从用户xyz@xyz.com
访问节点p
(错误)
我收到 Access Denied
错误。
似乎没有覆盖用户权限的组权限,或者似乎没有覆盖最新的权限。
我怎样才能做到这一点?
这是设计使然:deny 权限始终强于 allow。因此,如果您为用户设置显式拒绝,则您不能允许通过组进行相同的操作。设置权限的时间或者是组还是用户都无所谓:规则是拒绝覆盖允许。
这就是为什么使用 deny 应该是最后的选择。最好删除 用户的允许权限,而不是通过组允许它。
有关破坏权限、本地权限和整个权限系统的详细信息,请访问this article。