Dynamics CRM Plugin 校验用户角色

本文详细介绍了如何在Dynamics CRM中开发插件,实现对用户角色的校验功能。通过定制插件,可以确保只有具备特定角色的用户才能执行特定的操作,从而增强系统的权限管理。
        /// <summary>
        /// 校验用户角色
        /// </summary>
        /// <param name="roleName">角色名称</param>
        /// <returns></returns>
        public bool CheckHasRole(IOrganizationService SysService, Guid userId, string roleName)
        {
            QueryExpression query = new QueryExpression()
            {
                EntityName = "role",
                ColumnSet = new ColumnSet("name"),
                LinkEntities = 
                               {
                                   new LinkEntity
                                   {
                                       LinkFromEntityName = "role",
                                       LinkFromAttributeName = "roleid",
                                       LinkToEntityName = "systemuserroles",
                                       LinkToAttributeName = "roleid",
                                       LinkCriteria = new FilterExpression
                                       {
                                           FilterOperator = LogicalOperator.And,
                                           Conditions = 
                                           {
                                               new ConditionExpression
                                               {
                                                   AttributeName = "systemuserid",
                                                   Operator = ConditionOperator.Equal,
                                                   Values = { userId }
                                               }
                                           }
                                       }
                                   }
                               },
                Criteria =
                {
                    Conditions = { 
                       new ConditionExpression("name",ConditionOperator.Equal,roleName)
                    }
                }
            };
            EntityCollection roleCollection = SysService.RetrieveMultiple(query);
            if (roleCollection != null && roleCollection.Entities.Count > 0)
                return true;
            return false;
        }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值