在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验证时,我仍然找到旧用户。
你知道怎么切换用户吗?
似乎您的用户在分配的安全角色中没有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执行某项操作。