zoukankan      html  css  js  c++  java
  • mscrm4.0 判断当前用户角色_示例

    alert(UserHasRole("System Administrator"));

    function UserHasRole(roleName)
    {
        
    //get Current User Roles, oXml is an object
        var oXml = GetCurrentUserRoles();
        
    if(oXml != null)
        {
            
    //select the node text
            var roles = oXml.selectNodes("//BusinessEntity/q1:name");
            
    if(roles != null)
            {
                
    for( i = 0; i < roles.length; i++)
                {
                    
    if(roles[i].text == roleName)
                    {
                        
    //return true if user has this role
                        return true;
                    }
                }
            }
        }
        
        
    //otherwise return false
        return false;
    }

    function GetCurrentUserRoles()
    {
        
    var xml = "" + 
        
    "<?xml version=""1.0"" encoding=""utf-8""?>" + 
        
    "<soap:Envelope xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"">" + 
        GenerateAuthenticationHeader() 
    + 
        
    " <RetrieveMultiple xmlns=""http://schemas.microsoft.com/crm/2007/WebServices"">" + 
        
    " <query xmlns:q1=""http://schemas.microsoft.com/crm/2006/Query"" xsi:type=""q1:QueryExpression"">" + 
        
    " <q1:EntityName>role</q1:EntityName>" + 
        
    " <q1:ColumnSet xsi:type=""q1:ColumnSet"">" + 
        
    " <q1:Attributes>" + 
        
    " <q1:Attribute>name</q1:Attribute>" + 
        
    " </q1:Attributes>" + 
        
    " </q1:ColumnSet>" + 
        
    " <q1:Distinct>false</q1:Distinct>" + 
        
    " <q1:LinkEntities>" + 
        
    " <q1:LinkEntity>" + 
        
    " <q1:LinkFromAttributeName>roleid</q1:LinkFromAttributeName>" + 
        
    " <q1:LinkFromEntityName>role</q1:LinkFromEntityName>" + 
        
    " <q1:LinkToEntityName>systemuserroles</q1:LinkToEntityName>" + 
        
    " <q1:LinkToAttributeName>roleid</q1:LinkToAttributeName>" + 
        
    " <q1:JoinOperator>Inner</q1:JoinOperator>" + 
        
    " <q1:LinkEntities>" + 
        
    " <q1:LinkEntity>" + 
        
    " <q1:LinkFromAttributeName>systemuserid</q1:LinkFromAttributeName>" + 
        
    " <q1:LinkFromEntityName>systemuserroles</q1:LinkFromEntityName>" + 
        
    " <q1:LinkToEntityName>systemuser</q1:LinkToEntityName>" + 
        
    " <q1:LinkToAttributeName>systemuserid</q1:LinkToAttributeName>" + 
        
    " <q1:JoinOperator>Inner</q1:JoinOperator>" + 
        
    " <q1:LinkCriteria>" + 
        
    " <q1:FilterOperator>And</q1:FilterOperator>" + 
        
    " <q1:Conditions>" + 
        
    " <q1:Condition>" + 
        
    " <q1:AttributeName>systemuserid</q1:AttributeName>" + 
        
    " <q1:Operator>EqualUserId</q1:Operator>" + 
        
    " </q1:Condition>" + 
        
    " </q1:Conditions>" + 
        
    " </q1:LinkCriteria>" + 
        
    " </q1:LinkEntity>" + 
        
    " </q1:LinkEntities>" + 
        
    " </q1:LinkEntity>" + 
        
    " </q1:LinkEntities>" + 
        
    " </query>" + 
        
    " </RetrieveMultiple>" + 
        
    " </soap:Body>" + 
        
    "</soap:Envelope>" + 
        
    "";

        
    var xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
        xmlHttpRequest.Open(
    "POST""/mscrmservices/2007/CrmService.asmx"false);
        xmlHttpRequest.setRequestHeader(
    "SOAPAction"," http://schemas.microsoft.com/crm/2007/WebServices/RetrieveMultiple");
        xmlHttpRequest.setRequestHeader(
    "Content-Type""text/xml; charset=utf-8");
        xmlHttpRequest.setRequestHeader(
    "Content-Length", xml.length);
        xmlHttpRequest.send(xml);
        
    var resultXml = xmlHttpRequest.responseXML;
        
    return(resultXml);
    }
  • 相关阅读:
    关于苹果IPhone/Ipad(IOS)开发者证书申请及安装、真机调试、发布的参考文章
    vs 关闭警告
    真机测试及布署Code Sign error问题总结
    在 Win32 Application 和 Win32 Console Application 中使用 MFC
    获取应用程序路径的区别
    js日期控件
    SQL SERVER 企业管理器 MMC 无法创建管理单元
    进程查看两利器
    用PowerDesigner逆向数据库工程时”Unable to list the table"错误的解决方法
    SQL 附加无日志数据库
  • 原文地址:https://www.cnblogs.com/seerlin/p/1990578.html
Copyright © 2011-2022 走看看