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 studio 各种问题
    关于Android开发中Arm、X86和Mips(草稿)
    每日更新
    Error creating bean with name 'userRepository': Invocation of init method failed;
    API 'variant.getJavaCompiler()' is obsolete and has been replaced with 'variant.getJavaCompileProvider()'
    increase the minSdkVersion to 26
    Exception thrown on Scheduler.Worker thread. Add `onError` handling
    M600 Pro 安装问题解决
    Could not parse multipart servlet request; nested exception is org.apache.commons.fileupload.FileUploadBase$IOFileUploadException: Processing of multipart/form-data request failed.
    大疆无人机M100相关问题解决过程
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4244770.html
Copyright © 2011-2022 走看看