zoukankan      html  css  js  c++  java
  • 深入浅出Nintex——判断当前用户的角色

    基本思路:使用SharePoint提供的WebService来获取流程发起人的角色(Web Url/_vti_bin/usergroup.asmx?WSDL)。 

    1 调用usergroup web Service中的方法GetGroupCollectionFromUser,传入参数流程发起人的AD账号字符串,输出XML文件。

    2 使用XSLT解析XML文件,得到流程发起人的role集合。

    图示:

    执行过程详解

    使用Send Notification查看输出地XML文件

    代码
    <xml>
    <GetGroupCollectionFromUser xmlns="http://schemas.microsoft.com/sharepoint/soap/directory/">
    <Groups>
    <Group ID="4" Name="Absence Requests Owners" Description="Use this group to give people full control permissions to the SharePoint site: Absence Requests" OwnerID="4" OwnerIsUser="False" />
    </Groups>
    </GetGroupCollectionFromUser>
    </xml>

    XSLT的详细代码如下所示

    代码
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:h="http://schemas.microsoft.com/sharepoint/soap/directory/">
    <xsl:template match="/">
    <xsl:for-each select="xml/h:GetGroupCollectionFromUser/h:Groups/h:Group">
    <xsl:value-of select="@Name"/>;</xsl:for-each>
    </xsl:template>
    </xsl:stylesheet>

    解析role集合使用“;”隔开每个数组元素并输出的字符串如下所示: 

    Absence Requests Owners;

    如果发起人用户所属多个用户,则如下所示:Absence Requests Owners;HR;Payroll;

    流程文件下载:download

  • 相关阅读:
    win7开启Administrator账户
    二叉树遍历
    使用NAnt提高工作效率(二)
    系统服务的最简单实现
    右键附加启动命令行
    C#开发奇技淫巧二:根据dll文件加载C++或者Delphi插件
    百度原CTO李一男经典语录
    Sql开发技巧
    使用NAnt提高工作效率(一)
    对获取config文件的appSettings节点简单封装
  • 原文地址:https://www.cnblogs.com/mingle/p/Nintex_GetGroupCollectionFromUser.html
Copyright © 2011-2022 走看看