0

我们需要使用 SQL 中的 PrincipalObjectAccess (POA) 表中的 AccessRightsMask 列来了解 CRM 2011 中特定实体有多少记录(行)具有写入权限。

在 CrmSdk 中的 AccessRights 枚举器中,WriteAccess 的掩码值为 2,但是当我们在 POA 表上搜索值 2 时,没有找到该 AccessRightsMask 值的记录。

我们应该使用什么查询来返回用户或团队对对象具有写访问权限的行?

4

1 回答 1

2

您几乎肯定不会找到许多主体只有写入权限的对象,因为几乎总是需要读取权限才能使用它和一大堆其他东西。你把这个当面具是不是?即不寻找值 = 2 但倒数第二位 = 1 ?您的查询希望类似于:

select foo from <POA table> where AccessRightsMask & 2 =2

据我所知,POA 表仅记录正常安全模型之外的访问权限,即已明确共享的记录,或者在重新父级时已级联权限的记录。“正常”访问是根据安全角色、团队成员、主体相对于对象的 BU 等动态确定的。

我确实觉得有必要问一个大问题——“为什么你需要尝试获取这些信息,为什么要采用这种方法?”

于 2012-10-04T20:48:17.643 回答