/// <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;
}
本文详细介绍了如何在Dynamics CRM中开发插件,实现对用户角色的校验功能。通过定制插件,可以确保只有具备特定角色的用户才能执行特定的操作,从而增强系统的权限管理。


被折叠的 条评论
为什么被折叠?



