//--------------
//返回当前用户ID
//--------------
function GetCurrentUserId()
{
var soapBody = "<soap:Body><Execute xmlns='http://schemas.microsoft.com/crm/2007/WebServices'><Request xsi:type='WhoAmIRequest' /></Execute></soap:Body>";
var soapXml = "<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'>";
var header1 = GenerateAuthenticationHeader();
soapXml += header1;
soapXml += soapBody;
soapXml += "</soap:Envelope>";var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
xmlhttp.open("POST", "/mscrmservices/2007/crmservice.asmx", false);
xmlhttp.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
xmlhttp.setRequestHeader("SOAPAction", "http://schemas.microsoft.com/crm/2007/WebServices/Execute");xmlhttp.send(soapXml);xmlDoc=new ActiveXObject("Microsoft.XMLDOM");xmlDoc.async=false;
xmlDoc.loadXML(xmlhttp.responseXML.xml);var userid = xmlDoc.getElementsByTagName("UserId")[0].childNodes[0].nodeValue;return userid;
}//----------------
//返回当前用户角色
//----------------
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() +
"  <soap:Body>" +
"    <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:AllColumns\" />" +
"        <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>Equal</q1:Operator>" +
"                      <q1:Values>" +
"                        <q1:Value xmlns:q2=\"http://microsoft.com/wsdl/types/\" xsi:type=\"q2:guid\">"+GetCurrentUserId()+"</q1:Value>" +
"                      </q1:Values>" +
"                    </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;
var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");xmlDoc.async=false;
xmlDoc.loadXML(xmlHttpRequest.responseXML.xml);var lineCount=xmlDoc.getElementsByTagName("q1:name").length;var resultValue='';
for(var i=0;i<lineCount;i++)
{resultValue +=xmlDoc.getElementsByTagName("q1:name")[i].childNodes[0].nodeValue+'_';
}return resultValue;
}//--------------------
//返回当前用户的用户名
//--------------------
function GetCurrentUserName()
{
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() +
"<soap:Body>"+
"  <RetrieveMultiple xmlns=\"http://schemas.microsoft.com/crm/2007/WebServices\">"+
"    <query xmlns:q1=\"http://schemas.microsoft.com/crm/2006/Query\" xsi:type=\"q1:QueryByAttribute\">"+
"      <q1:EntityName>systemuser</q1:EntityName>"+
"      <q1:ColumnSet xsi:type=\"q1:ColumnSet\">"+
"        <q1:Attributes>"+
"          <q1:Attribute>fullname</q1:Attribute>"+
"        </q1:Attributes>"+
"      </q1:ColumnSet>"+
"        <q1:Attributes>"+
"         <q1:Attribute>systemuserid</q1:Attribute>"+
"        </q1:Attributes>"+
"      <q1:Values>"+
"         <q1:Value xsi:type=\"xsd:string\">"+GetCurrentUserId()+"</q1:Value>"+
"      </q1:Values>"+
"    </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;
var resultValue=resultXml.getElementsByTagName("q1:fullname")[0].childNodes[0].nodeValue;
return resultValue;}

转载于:https://www.cnblogs.com/hellohongfu/archive/2011/07/18/2109340.html

CRM 4.0得到用户个人信息相关推荐

  1. oauth2中用户的信息如何动态获取和存储_oAuth2.0 简介

    本文将对oAuth 2.0协议做一个简单介绍. 本文主要内容翻译自文章:OAuth 2 Simplified. 本文分为如下几个部分: 角色:应用.api和用户 创建一个app 授权:获取访问toke ...

  2. Web项目实战 | 购物系统v2.0 | 开发记录(五)使用base64编码实现头像修改 | 用户个人信息修改 | JQuery动态提示

    文章目录 以往记录 一.运行环境 二.实现头像修改 三.用户个人信息修改 四.Bug & DeBug 以往记录 Web项目实战 | 购物系统v2.0 | 开发记录(一)需求分析 | 技术选型 ...

  3. java session缓存_Java服务端采用Session的缓存oauth2.0授权用户信息

    前面有讲到session和cookie的一些简单的区别和比较,我们继续为java在服务端如何对session的操作留下笔记,这里以用户的登陆和退出操作为实用场景,简单讲解session的建立.清空等操 ...

  4. (转微软网站)如何安装 Microsoft Dynamics CRM 4.0 具有最低必需权限

    如何安装 Microsoft Dynamics CRM 4.0 具有最低必需权限 察看本文应用于的产品 注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成.微软很高兴能同时提供给您由人工翻译 ...

  5. uniapp同步获取用户信息_微信小程序云开发教程微信小程序的API入门获取用户身份信息系列API...

    同学们大家好,我是小伊同学,上一节我们介绍了一些常用API,今天我们接着来学习一组API,那就是获取用户身份信息的API. 在微信小程序中,我们往往需要获取用户的身份信息,比如昵称.头像.性别.地区等 ...

  6. linux用户在哪个文件夹,LINUX中用命令成功建立一个用户后信息会记录在哪个文件中...

    LINUX中用命令成功建立一个用户后信息会记录在哪个文件中 发布时间:2007-07-28 10:14:57来源:红联作者:MPiops 增加用户帐号后 新建用户的命令十分简单,在命令行下使用 use ...

  7. C#开发微信门户及应用(10)--在管理系统中同步微信用户分组信息

    在前面几篇文章中,逐步从原有微信的API封装的基础上过渡到微信应用平台管理系统里面,逐步介绍管理系统中的微信数据的界面设计,以及相关的处理操作过程的逻辑和代码,希望从更高一个层次,向大家介绍微信的应用 ...

  8. ASP.NET 2.0关于用户登录限制问题实例:防止同一用户同时登陆

    要防止同一用户同时登陆,首页应该记录在线用户的信息(这里与用户名为例),然后判断正在登陆的用户里面是否已存在.在这里使用一个cache存放已经登陆的用户名,但是还有一个问题就是要知道用户是什么时候离开 ...

  9. mysql 操作审计_利用mysql的audit审计功能记录用户操作信息

    mysql数据库中我们如果想记录用户的操作信息,可以通过audit审计功能来来实现.该功能是被自动触发的,在文件plugin_audit.h中可以看到比较详细的定义.在audit插件中,可控制的变量包 ...

最新文章

  1. NHibernate中,查询SqlServer数据库多个实体对象
  2. 16进制数组转成10进制 qt_计算机组成原理(进制数及转换)
  3. Zend API: array_init
  4. 外设位宽为8、16、32时,CPU与外设之间地址线的连接方法
  5. win7 计算器 android,教你巧妙应用Win7计算器和时钟
  6. 结构化编程:不确定迭代循环控制do while
  7. [洛谷P1908] 逆序对|归并排序|树状数组
  8. codevs 2651 孔子教学——同桌
  9. 可能促使您决定创建自定义数据绑定控件的一些原因:
  10. 管理感悟:代码审查做哪些事情?
  11. SQL Server 2008 附加数据库之后显示为 只读 的解决方法
  12. 网站扫描服务器全部开放端口,服务器开放端口扫描
  13. Python正则表达式大全
  14. 机械手三维图 matlab,机械手的三维建模
  15. iOS相机、相册的访问权限
  16. ES2015简介和基本语法
  17. Pygame实战:我妈50岁,戒不掉消消乐!看我给您安排一款百变款消消乐!厉害!
  18. docker 安装snipe-it
  19. mysql 聚集函数与group by,聚集函数可以和where一起用吗 聚合函数如何与group by函数一起使用...
  20. VIL-SLAM论文翻译:Stereo Visual Inertial LiDAR Simultaneous Localization and Mapping

热门文章

  1. leetcode —— 16. 最接近的三数之和
  2. 深度学习的实用层面 —— 1.12 梯度的数值逼近
  3. 吴恩达深度学习 —— 2.9 逻辑回归中的梯度下降法
  4. 轮盘赌算法的java实现算例
  5. Ubuntu16.04下安装Sublime Sublime Text3
  6. 数据可视化系列(四):文字图例尽眉目
  7. vc mysql 查询_VC++数据库模糊查询及精确查询示例代码分享
  8. mfc编程淘汰了吗_工控编程,学完C++基础后再学什么?
  9. mac自带的python怎么升级_mac上怎么更新python
  10. spring ioc原理_这70 道Spring高频面试题,你不好奇吗?