Dynamics CRM JavaScript 用戶角色判斷

判斷用戶是否擁有角色

//roleNames是數組
function UserHasRole(roleNames) {
    var ODataResult = ODataRetrieve("SystemUserSet?$select=systemuserroles_association/Name&$expand=systemuserroles_association&$filter=SystemUserId eq guid'" + Xrm.Page.context.getUserId() + "'");
    if (ODataResult != null && ODataResult.results.length == 1 && ODataResult.results[0].systemuserroles_association.results.length > 0) {
        var oDataRoles = ODataResult.results[0].systemuserroles_association.results;
        for (var i = 0; i < oDataRoles.length; i++) {
            for (var j = 0; j < roleNames.length; j++) {
                if (oDataRoles[i].Name == roleNames[j]) {
                    return true;
                }
            }
        }
    }
    return false;
}

function ODataRetrieve(oDataString)
{
    var ServerUrl = Xrm.Page.context.getClientUrl();
    if (ServerUrl.match(/\/$/))
    {
        ServerUrl = ServerUrl.substring(0, ServerUrl.length - 1);
    }
    var retrieveReq = new XMLHttpRequest();
    retrieveReq.open("GET", ServerUrl + "/XRMServices/2011/OrganizationData.svc/" + oDataString, false);
    retrieveReq.setRequestHeader("Accept", "application/json");
    retrieveReq.setRequestHeader("Content-Type", "application/json;charset=utf-8");
    retrieveReq.send();
    return JSON.parse(retrieveReq.responseText).d;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章