crm操作安全角色

using System;

using Microsoft.Xrm.Sdk;

using Microsoft.Crm.Sdk.Messages;

using System.Collections.Generic;

/// <summary>

/// 安全角色

/// </summary>

public class RoleHelper

{

public static readonly string entityName = "role";

public Guid roleId = Guid.Empty;

/// <summary>

/// 创建安全角色

/// </summary>

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

/// <param name="name">角色名称</param>

/// <param name="unitId">业务部门</param>

public void Create(IOrganizationService service,string name,Guid unitId)

{

Entity en = new Entity() { LogicalName = entityName };

en["name"] = name;

en["businessunitid"] = new EntityReference() { LogicalName = "businessunit",Id = unitId };

roleId = service.Create(en);

}

/// <summary>

/// 改动安全角色

/// </summary>

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

/// <param name="name">角色名称</param>

/// <param name="unitId">业务部门</param>

public void Update(IOrganizationService service, string name, Guid unitId)

{

Entity en = new Entity() { LogicalName = entityName,Id = roleId };

en["name"] = name;

en["businessunitid"] = new EntityReference() { LogicalName = "businessunit", Id = unitId };

service.Update(en);

}

/// <summary>

/// 给安全角色加入权限

/// </summary>

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

/// <param name="businessUnitId">业务部门id</param>

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

public void AddPrivilegesRole(IOrganizationService service,Guid businessUnitId,Guid privilegeId)

{

AddPrivilegesRoleRequest request = new AddPrivilegesRoleRequest();

request.RoleId = roleId;

RolePrivilege rp = new RolePrivilege();

//Basic: 1/4,Local : 1/2,Deep : 3/4,Global: 4/4 组织

rp.Depth = PrivilegeDepth.Basic;

//权限

rp.PrivilegeId = privilegeId;

//业务部门

rp.BusinessUnitId = businessUnitId;

//权限

request.Privileges = new RolePrivilege[] { rp };

service.Execute(request);

}

/// <summary>

/// 给安全角色移除权限

/// </summary>

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

/// <param name="privilergeId">安全角色</param>

public void RemovePrivilegeRole(IOrganizationService service,Guid privilergeId)

{

RemovePrivilegeRoleRequest roleRequest = new RemovePrivilegeRoleRequest();

roleRequest.RoleId = roleId;

roleRequest.PrivilegeId = privilergeId;

service.Execute(roleRequest);

}

/// <summary>

/// 安全角色替换权限(删除曾经的角色,加入现有的角色)

/// </summary>

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

/// <param name="businessUnitId">业务部门id</param>

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

public void ReplacePrivilegeRpole(IOrganizationService service,Guid businessUnitId, Guid privilegeId)

{

ReplacePrivilegesRoleRequest roleRequest = new ReplacePrivilegesRoleRequest();

roleRequest.RoleId = roleId;

RolePrivilege rp = new RolePrivilege();

//Basic: 1/4,Local : 1/2,Deep : 3/4,Global: 4/4 组织

rp.Depth = PrivilegeDepth.Basic;

//权限

rp.PrivilegeId = privilegeId;

//业务部门

rp.BusinessUnitId = businessUnitId;

//权限

roleRequest.Privileges = new RolePrivilege[] { rp };

service.Execute(roleRequest);

}

/// <summary>

/// 检索分派给指定角色的权限

/// </summary>

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

public void SearchPrivilegeRole(IOrganizationService service)

{

RetrieveRolePrivilegesRoleRequest request = new RetrieveRolePrivilegesRoleRequest();

request.RoleId = roleId;

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

if (response != null && response.Results != null) {

ParameterCollection result = response.Results;

}

}

/// <summary>

/// 删除安全角色

/// </summary>

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

public void Delete(IOrganizationService service)

{

service.Delete(entityName, roleId);

}

}

时间: 2024-08-24 11:11:59

crm操作安全角色的相关文章

在活动目录中,转移和占用操作主机角色(转移)

如何转移操作主机 操作主机是Active Directory中的特殊对象,具备操作主机角色的域控制器担任着活动目录核心功能,如果操作主机不可用,整个活动目录都会出现异常,甚至崩溃. 操作主机角色的唯一性决定了不是任意一台域控制器都能管理整个域,当一台承担着操作主机角色的域控制器需要停机维护,就需要将主机角色转移到另一台正常运行的域控制器上:但是当承担操作主机角色的域控制器突然崩溃,无法正常运行,就需要使用强制手段占用操作主机,它被称为强制转移 案例:某公司采用Windows Server 200

在活动目录中,转移和占用操作主机角色(占用)

如何占用操作主机 操作主机是ActiveDirectory中的特殊对象,具备操作主机角色的域控制器担任着活动目录核心功能,如果操作主机不可用,整个活动目录都会出现异常,甚至崩溃. 操作主机角色的唯一性决定了不是任意一台域控制器都能管理整个域,当一台承担着操作主机角色的域控制器需要停机维护,就需要将主机角色转移到另一台正常运行的域控制器上:但是当承担操作主机角色的域控制器突然崩溃,无法正常运行,就需要使用强制手段占用操作主机,它被称为强制转移    案例:某公司网络采用Windows server

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

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 entityNa

crm操作安全字段

using System; using Microsoft.Xrm.Sdk; using Microsoft.Xrm.Sdk.Messages; /// <summary> /// 安全字段 /// </summary> public class FieldSecurityProfileHelper { public static readonly string entityName = "fieldsecurityprofile"; public static

争夺操作主控角色

在多域控制器环境下,主域控制器由于硬件故障突然损坏,而又事先又没有做好备份,如何使额外域控制器接替它的工作,使Active Directory正常运行,并在硬件修理好之后,如何使损坏的主域控制器恢复. 处理方法:从AD中清除主域控制器对象在额外域控制器上通过ntdsutil.exe工具执行夺取五种FMSO操作设置额外域控制器为GC(全局编录)重新安装并恢复损坏主域控制器 查看五大角色的命令:netdom query fsmo 删除无用的主域控:1.必须使用域超级管理员账户(administrat

Windows Server 2016-FSMO操作主机角色介绍

FSMO五个操作主机角色 1.林范围操作主机角色(两种): 架构主机角色:Schema Master 域命名主机角色:Domain Naming Master 2.域范围操作主机角色(三种): 域范围操作主机: RID 主机角色:RID Master PDC 模拟主机角色:PDC Emulator 基础架构主机角色:Infrastructure Master PS.林范围主机角色必须唯一:域范围主机角色也必须是唯一. 架构主机(Schema Master): 用来定义所有域对象属性:架构主机的所

基于吉日嘎底层架构的Web端权限管理操作演示-角色管理

上一篇介绍了用户管理,这篇来介绍角色管理,这是权限管理的核心部分,因为我们的权限管理系统是基于角色的,有个高大上的英文名叫RBAC(Role Based Acccess Control). 下面的这段演示视频,会介绍角色管理的如下功能: 新增.修改.锁定.解锁.删除.撤销删除 角色成员管理 角色菜单模块管理 导出角色数据 优酷视频地址,手机无法播放的点击这里:http://v.youku.com/v_show/id_XMTc0MjU1NTcxMg==.html?f=28263687&o=1 下一

crm操作报价单实体

using System; using Microsoft.Xrm.Sdk; using Microsoft.Crm.Sdk.Messages; using Microsoft.Xrm.Sdk.Query; /// <summary> /// 报价单 /// </summary> public class QuoteHelper { public static readonly string entityName = "quote"; public Guid q