crm操作权限

using System;

using Microsoft.Xrm.Sdk;

using Microsoft.Xrm.Sdk.Query;

using System.Collections.Generic;

using Microsoft.Crm.Sdk.Messages;

/// <summary>

/// 权限

/// </summary>

public class PrivilegeHelper

{

public static readonly string entityName = "privilege";

/// <summary>

/// 查询一个实体的权限

/// 一般的实体都有8个主要的权限

/// </summary>

public List<Privilege> SearchPrivilegeByEntityName(IOrganizationService service, string name)

{

List<Privilege> list = new List<Privilege>();

//一般的实体都有8个权限,这里如果实体是:account

//prvCreateAccount: 创建客户,prvReadAccount: 读取客户记录,prvWriteAccount: 改动客户

//prvDeleteAccount: 删除客户,prvAppendAccount: 追加,prvAppendToAccount: 追加到

//prvAssignAccount: 分配客户,prvShareAccount: 共享客户

QueryExpression query = new QueryExpression();

query.EntityName = entityName;

query.ColumnSet = new ColumnSet("name");

query.Criteria.AddCondition(new ConditionExpression("name",ConditionOperator.Like,"prv%" + name));

EntityCollection ec = service.RetrieveMultiple(query);

if (ec != null && ec.Entities.Count > 0)

{

foreach(Entity en in ec.Entities)

{

Privilege p = new Privilege();

p.id = en.Id;

p.name = en["name"].ToString();

list.Add(p);

}

}

return list;

}

/// <summary>

/// 通过id查询一个权限

/// </summary>

/// <param name="service">服务</param>

/// <param name="privilegeId">权限id</param>

public Privilege SearchPrivilegeById(IOrganizationService service,Guid privilegeId)

{

Entity en = service.Retrieve(entityName, privilegeId, new ColumnSet("name"));

Privilege p = new Privilege() { id = privilegeId };

p.name = en["name"].ToString();

return p;

}

/// <summary>

/// 查询一个用户具有的权限

/// </summary>

/// <param name="service">服务</param>

/// <param name="userId">用户</param>

public void SearchPrivilegeByUserId(IOrganizationService service,Guid userId)

{

RetrieveUserPrivilegesRequest request = new RetrieveUserPrivilegesRequest();

request.UserId = userId;

RetrieveUserPrivilegesResponse response = (RetrieveUserPrivilegesResponse)service.Execute(request);

if (response.RolePrivileges != null)

{

RolePrivilege[] arrayResult = response.RolePrivileges;

}

}

/// <summary>

/// 检索系统中定义的特权集

/// </summary>

/// <param name="service">服务</param>

public List<Privilege> SearchAllPrivilege(IOrganizationService service)

{

List<Privilege> list = new List<Privilege>();

RetrievePrivilegeSetRequest request = new RetrievePrivilegeSetRequest();

RetrievePrivilegeSetResponse response = (RetrievePrivilegeSetResponse)service.Execute(request);

if (response.EntityCollection != null)

{

EntityCollection ec = response.EntityCollection;

if (ec != null && ec.Entities.Count > 0)

{

foreach (Entity en in ec.Entities)

{

Privilege p = new Privilege();

p.id = en.Id;

p.name = en["name"].ToString();

list.Add(p);

}

}

}

return list;

}

public class Privilege

{

public Guid id { get; set; }

public string name { get; set; }

}

}

crm操作权限

时间: 2024-10-19 22:32:44

crm操作权限的相关文章

Dynamics CRM 2011 权限管理(转)

http://www.cnblogs.com/LeoTang/p/3344265.html Dynamics CRM 2011 权限管理 CRM系统基于角色的权限主要通过部门.角色.用户.团队来 进行控制.每一个实体记录的所有者(Owner)必然是某一个用户或团队.一个用户或团队必然归属于一个且只归属于一个部门,但团队的成员即用户可以来自 不同的部门.用户和团队可以有多个不同的角色,并且用户或团队所被赋与的角色和它所在部门有关联,这种关联体现在对单个操作权限的五种层级选择,以商机的 读取为例:

用最基本的EF+MVC+JQ+AJAX+bootstrap实现权限管理的简单实例 之登陆和操作权限

先来一堆关于上篇文章的废话(不喜者点此隐藏) 今天把博客加了个小功能,就是点标题可以隐藏或展示相关内容,做法很傻,就是引用了bootstrap的两个css类和全部的js文件,其实这样的小功能完全应该自己做的,主要还是因为前端差,还有就是懒.请大家不要太过在意命名和前端样式,我并没有进入公司工作,命名没有具体规范,都是随心所欲.前端实在太差,如果你觉得颜色样式太差,只能说明我的审美有问题,咱们主要看功能实现. 上篇文章发布后有一定的推荐量和浏量,对一个初学者来说,自认为还是挺不错的.最主要的是收到

Red Hat下 关于apache 的操作权限

在Red Hat 下装Hustoj的时候遇到了一个快把我逼疯的问题, PS:如果你们用的install-interactive.sh 安装就不用往下看了 ,我就是自找苦吃,不过也因此学到了很多东西. 首先是在安装install.sh的时候(其实这是针对ubuntu的批处理文件,作者在github上已经说了用install-interactive.sh了,人家已经想到了其他linux安装出现的问题,我却没有在意,还是用Install.sh安装,所以出现这个问题),对应的APACHEUSER不对,u

linux基础操作----权限管理

linux的拥有这强大的权限操作. 我们能够简单的对linux权限管理进行分类: 权限本身有: 读 read. 写 write. 运行 execute 权限针对目标: 文件. 文件夹文件夹 权限针对用户: 主人 user. 同组 group. 其它组 other 我们如今举个样例分别对上述进行解释: 当前用户是zhoudong 用于文件doublegun.txt zhoudong(music) rwx (主人权限:读/写/运行) doublegun.txt xueyou(music) rw- (

crm操作业务部门

using System; using System.Linq; using Microsoft.Xrm.Sdk; using Microsoft.Crm.Sdk.Messages; using System.Collections.Generic; using Microsoft.Xrm.Sdk.Messages; /// <summary> /// 操作业务部门 /// </summary> public class BusinessUnitHelper { public st

操作权限,数据权限的解决方案

ERP系统常见的问题:操作权限.数据权限的解决方案 1.页面:通过权限控制某个页面是否显示 2.按钮:通过权限控制某个页面上的按钮是否显示 3.方法:通过权限控制某个方法是否能够访问 4.数据行:通过权限控制某个用户只能看到几行数据 后台设置权限 1.操作权限:添加计划.修改计划.搜索计划权限 2.数据权限:本人.本部门.所有 实现设置 1.页面:通过请求查询用户有哪些权限-有哪些模块 function loadMenu(){ $.ajax({ url : "", type : &qu

RDIFramework.NET ━ 9.7 操作权限项管理 ━ Web部分

RDIFramework.NET ━ .NET快速信息化系统开发框架 9.7 操作权限项管理 -Web部分 随着经济全球化趋势的发展和企业间竞争的加剧,企业对管理要求不断变化.提高,越来越多的信息都表明权限管理必须向更细.更深的方向发展,其目的就是为了更好的发挥监督职能,对不相容的资源进行分离与牵制,对重要的事项进行监督与制约,重点突出精细化管理的要求.操作权限管理模块是框架权限控制的核心,贯穿于整个框架应用之中.这里的操作权限不能简单理解为一些常用的增.删.改.查,应进行更深入的分析与挖掘.比

Asp.Net中Word,Excel等office com组件操作权限的问题

近日在打开原来写的一个网页程序运行时,出现了Excel操作权限的问题,具体的说就是在代码中调用下面这段与Excel操作有关的语句时, Application curExcelApp = new ApplicationClass(); 提示权限不足,具体的提示内容如下: 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005. 说明: 执行当前 Web 请求期间,出现未处理的异常.请

操作权限不够?教你开启Win7管理员帐户

在Win7中进行一些设置,或修改某些文件时,经常会弹出当前帐户没有操作权限的提示,即使已经是管理员账户也不行.事实上,出于安全方面的考虑,默认情况下Win7系统的系统管理员Administrator账户是处于禁用状态的,需要手动开启才能使用.开启它的方法很简单,按照下面的步骤来操作就可以. 方法一:从系统管理中开启管理员Administrator账户. 点击开始按钮,鼠标右键点击“计算机”,选择“管理”.在弹出的“用户账户控制”窗口中点击“是”,打开“计算机管理”. 打开系统管理设置 在“计算机