gpt4 book ai didi

sharepoint - SharePoint 中的权限/拒绝掩码

转载 作者:行者123 更新时间:2023-12-05 00:40:13 25 4
gpt4 key购买 nike

我有一个关于 SharePoint 权限掩码的问题。在 SharePoint 中,可以使用掩码设置授予/拒绝权限。详细信息在下面的文章中给出。

http://msdn.microsoft.com/en-us/library/dd304243(PROT.13).aspx

我的问题是我们什么时候有一个许可/拒绝掩码。

例如,如果您使用 central-admin 拒绝“ViewItem”权限,您将获得 4611686844973976575 作为拒绝掩码。此权限掩码由 aping | 计算到几个单独的权限掩码。

那么是否可以提取用于计算权限掩码的单个权限掩码,例如 4611686844973976575?

谢谢。

最佳答案

如果您对掩码中包含的“ViewListItems”的 0x0000000000000001 等值进行逻辑与运算,则您将获得该值本身(或 1)。如果您对不在该掩码中的值执行逻辑 AND,例如“UseClientIntegration”值 0x0000001000000000,那么您将得到零 (0)。这甚至可以通过 Windows 计算器应用程序的科学模式进行测试——也许首先将掩码转换为十六进制,例如以 4611686844973976575 为例,从基数 10 到 400000C072040BFF 十六进制(基数 16)。

要从掩码中提取所有值,您必须针对所有可能的值测试初始值。如果该页面上记录了所有已知的权限值,那么您的问题的答案是肯定的。我不知道你可能想用哪种语言来完成这个,但 C# 的基本思想是:

bool CheckMask( long Mask, long TestPermission ) {
return (Mask && TestPermission) > 0;
}

long mask = 4611686844973976575;

const long ViewListItems = 0x0000000000000001;
bool HasPermission_ViewListItems = CheckMask(mask, ViewListItems);
// HasPermission_ViewListItems is true

const long UseClientIntegration = 0x0000001000000000;
bool HasPermission_UseClientIntegration = CheckMask(mask, UseClientIntegration);
// HasPermission_UseClientIntegration is false

关于sharepoint - SharePoint 中的权限/拒绝掩码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3920551/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com