将位掩码设置为 CRM AccessRights

Set bitmask to CRM AccessRights

我在为 CRM 中的委托人设置访问权限时遇到问题。我必须检索特定团队的实际访问权限设置这些权限。

实际上访问权限是这样设置的:

principal.AccessMask = Microsoft.Crm.Sdk.Messages.AccessRights.ReadAccess |                                        Microsoft.Crm.Sdk.Messages.AccessRights.AppendAccess |
Microsoft.Crm.Sdk.Messages.AccessRights.AppendToAccess |
Microsoft.Crm.Sdk.Messages.AccessRights.WriteAccess;

现在我已经检索到作为对象返回的相关访问权限:

object AccessRights  = FetchEngine.GetPrincipalPriviliges(Globals.incomingTeamId, Globals.incomingRecordId);

此对象包含如下权限:851991

我现在的问题是我不知道如何使用此对象(位掩码)为主体设置访问权限。

也许有人可以指出正确的方向。

非常感谢任何帮助。

亲切的问候 桑德罗

根据: Microsoft 这是一个带有 Flags 属性的枚举。你应该能够施放它:

object rightsObject  = FetchEngine.GetPrincipalPriviliges(Globals.incomingTeamId, Globals.incomingRecordId);
var rights = (Microsoft.Crm.Sdk.Messages.AccessRights)rightsObject;
//....
myPrincipal.AccessMask = rights;

然后用它做任何你想做的事....