繁体   English   中英

在动态 crm 中获取用户的上下文

[英]Get the context of a user in dynamics crm

我在动态 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 用户。

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

来源

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM