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

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

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

图示:

深入浅出Nintex——判断当前用户的角色

执行过程详解

深入浅出Nintex——判断当前用户的角色

使用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>

 

深入浅出Nintex——判断当前用户的角色

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

相关文章:

  • 2021-06-21
  • 2022-12-23
  • 2021-07-19
  • 2021-05-29
  • 2022-12-23
  • 2021-08-18
  • 2021-12-24
  • 2021-05-24
猜你喜欢
  • 2021-10-26
  • 2022-01-01
  • 2022-12-23
  • 2022-02-17
  • 2021-11-28
  • 2022-03-05
  • 2021-11-23
相关资源
相似解决方案