zoukankan      html  css  js  c++  java
  • CRM2011 Javascript判断用户是否拥有某种Role

    function UserHasRole(roleName)
    {
    var serverUrl = Xrm.Page.context.getServerUrl();

    var oDataEndpointUrl = serverUrl + "/XRMServices/2011/OrganizationData.svc/";
    oDataEndpointUrl += "RoleSet?$top=1&$filter=Name eq '" + roleName + "'";

    var service = GetRequestObject();

    if (service != null)
    {
    service.open("GET", oDataEndpointUrl, false);
    service.setRequestHeader("X-Requested-Width", "XMLHttpRequest");
    service.setRequestHeader("Accept", "application/json, text/javascript, */*");
    service.send(null);

    var requestResults = eval('(' + service.responseText + ')').d;

    if (requestResults != null && requestResults.results.length == 1)
    {
    var role = requestResults.results[0];

    var id = role.RoleId;

    var currentUserRoles = Xrm.Page.context.getUserRoles();

    for (var i = 0; i < currentUserRoles.length; i++)
    {
    var userRole = currentUserRoles[i];

    if (GuidsAreEqual(userRole, id))
    {
    return true;
    }
    }
    }
    }

    return false;
    }

    function GetRequestObject()
    {
    if (window.XMLHttpRequest)
    {
    return new window.XMLHttpRequest;
    }
    else
    {
    try
    {
    return new ActiveXObject("MSXML2.XMLHTTP.3.0");
    }
    catch (ex)
    {
    return null;
    }
    }
    }

    function GuidsAreEqual(guid1, guid2)
    {
    var isEqual = false;

    if (guid1 == null || guid2 == null)
    {
    isEqual = false;
    }
    else
    {
    isEqual = guid1.replace(/[{}]/g, "").toLowerCase() == guid2.replace(/[{}]/g, "").toLowerCase();
    }

    return isEqual;
    }

    应用:

    var isManager=UserHasRole("Manager");
    if(isManager)
    {
    //Do something
    }
    else
    {
    //Do something
    }



  • 相关阅读:
    关于前端开发中的“收口”思想
    Ajax 完整教程(转载)
    GitHub与Git指令入门
    自制一个H5图片拖拽、裁剪插件(原生JS)
    程序猿如何“智斗”产品经理
    Spark 的调度器
    Spark shuffle 过程
    Spark on Yarn 流程
    Spark shuffle 相关参数调优
    Spark shuffle 相关参数调优(带记忆)
  • 原文地址:https://www.cnblogs.com/nixjojo/p/2387408.html
Copyright © 2011-2022 走看看