Dynamics crm 2011 如何根据PrincipalObjectAccess中的AccessRightMask值知道用户拥有哪些权限

Dynamics crm 2011 如何根据PrincipalObjectAccess中的AccessRightMask值知道用户拥有哪些权限,dynamics-crm-2011,Dynamics Crm 2011,我们需要使用SQL中PrincipalObjectAccess(POA)表中的AccessRightsMask列,找出CRM 2011中特定实体有多少记录(行)具有写入权限 在CrmSdk中AccessRights的枚举器中,WriteAccess的掩码值为2,但在POA表中搜索值2时,找不到该AccessRightsMask值的记录 我们应该使用什么查询来返回用户或团队对对象具有写访问权限的行?您几乎肯定不会找到许多主体仅具有写访问权限的对象,因为读访问权限几乎总是需要与它和一大堆其他内容一起

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

在CrmSdk中AccessRights的枚举器中,WriteAccess的掩码值为2,但在POA表中搜索值2时,找不到该AccessRightsMask值的记录


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

您几乎肯定不会找到许多主体仅具有写访问权限的对象,因为读访问权限几乎总是需要与它和一大堆其他内容一起使用的。 你把这当作面具,是吗?ie不寻找值=2,但倒数第二位=1? 您的查询应该类似于:

从AccessRightsMask&2=2的位置选择foo

据我所知,POA表只记录了正常安全模型之外的访问权限,即已显式共享的记录,或在重新创建家长关系时级联的权限根据安全角色、团队成员、主体相对于对象的BU等,动态地计算出正常的访问权限


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

谢谢@AdamV。事实上,我们已经用自己的角色管理程序共享了这些记录。我们定义了一些实体上的角色及其访问权限,如读、写、删除、共享……在我们的共享中,很少有不应该被授予写访问权限的记录被授予写访问权限。所以我们只是想分析一下我们分享部分的错误记录。