使用GrantCessRequest授予READ权限



我想从系统用户实体上的安全角色中删除READ权限,并在每次创建新的系统用户时执行一个插件——它会将READ授予特定用户,以便只有他/她的系统用户记录对他们可见。插件必须异步运行在链中的最后一个。

在我的插件中,我使用以下代码为用户分配读取权限,

                    EntityReference systemUser = PostImage.ToEntityReference();
                    GrantAccessRequest grantRequest = new GrantAccessRequest()
                    {
                        Target = systemUser,
                        PrincipalAccess = new PrincipalAccess()
                        {
                            Principal = systemUser,
                            AccessMask = AccessRights.ReadAccess 
                        }
                    };
                    GrantAccessResponse grantResponse =
                        (GrantAccessResponse)XrmServiceContext.Execute(grantRequest);

但是,当我创建一个新用户并使用该凭据登录时,这似乎不会有任何改变。所有系统用户记录都可见!我做错了什么?当前系统用户已在crm安全角色中将读取权限设置为"organization"。

任何帮助都将不胜感激。谢谢

您不需要在插件或任何其他类型的代码中执行此操作。通过PrincipalObjectAccess("POA")表中的行,所有用户都被授予其自己的用户记录和用户设置的显式共享。

相关内容

  • 没有找到相关文章

最新更新