在dynamics crm中获取用户的上下文

本文关键字:用户 上下文 获取 dynamics crm | 更新日期: 2023-09-27 18:01:21

我有一个动态crm的用户列表,我想当我创建crm的上下文将只有一个用户的上下文,即用户将无法访问其他用户的记录。

我已经尝试像这样改变组织代理的调用者:

                //original context
                OrganizationServiceContext contextORI = new OrganizationServiceContext(organisationProxy);
                //i search th user
                Utilisateur user= (from k in contextORI.CreateQuery<Utilisateur>()
                                    where k.Id == User.Id
                                    select k).FirstOrDefault();
                //i change the caller of organisationProxy
                this.organisationProxy.CallerId = user.Id;
                //i create the new context
                OrganizationServiceContext context = new OrganizationServiceContext(organisationProxy);

但是用户总是可以访问所有的结果

当我用WhoAmIRequest验证时,我仍然找到旧用户。

你知道怎么切换用户吗?

在dynamics crm中获取用户的上下文

似乎您的用户在分配的安全角色中没有prvActOnBehalfOfAnotherUser特权。

用户帐户(A)需要特权prvActOnBehalfOfAnotherUser,该特权包含在Delegate角色中。

或者,仅对于Active Directory目录服务部署,可以将运行模拟代码的用户帐户(A)添加到Active Directory中的PrivUserGroup组。此组由Microsoft Dynamics CRM在安装和设置期间创建。用户帐户(A)不必与许可的Microsoft Dynamics CRM用户相关联。但是,被冒充的用户(B)必须是获得许可的Microsoft Dynamics CRM用户。

用于修改数据的实际权限集是Delegate角色用户拥有的权限与被模拟的用户拥有的权限的交集。换句话说,当且仅当用户A和被模拟的用户(B)拥有执行该操作所需的权限时,才允许用户A执行某项操作。