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
    }



  • 相关阅读:
    Django之ModelForm组件
    Hibernate的继承映射
    hibernate的检索策略
    Hibernate的多对多映射关系
    Hibernate中的一对一映射关系
    Hibernate中双向的一对多关系
    Hibernate中的映射关系(一对多)
    Hibernate的映射组成关系
    Hibernate的大对象映射
    hibernate的日期映射
  • 原文地址:https://www.cnblogs.com/nixjojo/p/2387408.html
Copyright © 2011-2022 走看看