zoukankan      html  css  js  c++  java
  • 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);
            }
        }

  • 相关阅读:
    Android TextView中的ellipsize属性
    Android 仿微信点赞和评论弹出框
    Java 数组倒序
    Android List去掉重复数据
    Android HttpClient get传递数组
    android HttpClient
    kali中的APT软件包处理工具(apt-get)、Debian软件包管理器(dpkg)、源代码压缩和Nessus安装实用指南
    安装Kali里的应用程序或软件包
    渗透测试方法论
    Kali Linux的介绍
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4244770.html
Copyright © 2011-2022 走看看