Infopath 2013 通过UserProfileService读取AD用户信息

我刚刚看过什么C#文章获得当前用户使用Web服务的详细信息。 
其实无需编写任何代码,可以实现完全相同的结果。所以我在这里简单的介绍一下: 
*如果你已经熟悉这个,这个篇文章可以跳过。 
*此介绍是建立在InfoPath和InfoPath Forms Services之上。

  1. 使用InfoPath打开工具>数据连接,并点击“添加...”添加一个新的数据连接形式。这将打开数据连接向导。
  2. 我们希望接有关当前用户的数据,所以选择“接收数据”,然后单击“下一步”。
  3. 选择SOAP Web服务。
  4. http://ServerName/_vti_bin/UserProfileService.asmx 键入地址,然后单击下一步。
  5. 选择“GetUserProfileByName” ,然后单击下一步。
  6. 在这个画面中你可以指定什么参数都发送的方法,我们这里选择点击下一步
  7. 单击“下一步”,确保‘‘被检查打开表单时自动检索数据
  8. 完成向导。

GetProfileByName方法返回一个PropertyData。你可以认为它作为一个重复表的名称和值,所以,现在你有一个数据连接,可以得到当前的用户,你可以使用它的值。在这个例子中,我将在一个文本框中显示用户的名字。

1、添加一个文本框

2、双击文本框,属性,单击“FX”按键。

3、点击“插入域或组”

4、在数据源处选择GetUserProfileByName。

6、全部展开组下的数据域组,并选择Value字段,不要单击“确定”!!!

7、点击“筛选数据”并在第一个下拉值选择“Name”=“PreferredName”,这里的PreferredName是指全名。当然这里得根据你实际情况填写,例如:“UserProfile_GUID,AccountName,FirstName,LastName,PreferredName,WorkPhone,Office,Department”

最后来张效果图:

备注:

这里是得到由userprofileservice返回默认的配置文件属性的完整列表。

UserProfile_GUID 
AccountName 
FirstName 
LastName 
PreferredName 
WorkPhone 
Office 
Department 
Title 
Manager 
AboutMe 
PersonalSpace 
PictureURL 
UserName 
QuickLinks 
WebSite 
PublicSiteRedirect 
SPS-Dotted-line 
SPS-Peers 
SPS-Responsibility 
SPS-Skills 
SPS-PastProjects 
SPS-Interests 
SPS-School 
SPS-SipAddress 
SPS-Birthday 
SPS-MySiteUpgrade 
SPS-DontSuggestList 
SPS-ProxyAddresses 
SPS-HireDate 
SPS-LastColleagueAdded 
SPS-OWAUrl 
SPS-ResourceAccountName 
SPS-MasterAccountName 
Assistant 
WorkEmail 
CellPhone 
Fax 
HomePhone

以上字段可以在

管理中心 管理配置文件服务: User Profile Service Application -管理用户属性中获得

时间: 2024-08-10 23:30:50

Infopath 2013 通过UserProfileService读取AD用户信息的相关文章

SharePoint 2013 数据库中手动更新用户信息

在SharePoint的使用过程中,尤其是Windows认证的情况下,而且没有配置用户配置文件服务,经常会出现如果更新AD中的用户信息(包括名字.显示名.邮件等),SharePoint这边站点并不会更新的情况. 这时候,我们经常会操作数据进行更新操作,生产环境建议备份,测试环境也要多看几次update语句. 1.首先进入授权的用户组,看到我们的用户名,当AD中更新,这里的Name还是之前的名字,如下: 2.鼠标放到名字上,可以看到Url链接地址,这时候我们需要ListId和ID,ListId是用

sharepoint 2013 Form认证隐藏AD用户方法

$cpm = Get-SPClaimProviderManager  $ad = get-spclaimprovider -identity "AD" $ad.IsVisible = $false $cpm.Update()

java以及C#获取AD域上用户信息

JAVA /** *  JAVA 读取AD用户信息 *  aa00a00 */package com.wanda.sso.client.servlet; import java.util.Hashtable; import javax.naming.Context;import javax.naming.NamingEnumeration;import javax.naming.NamingException;import javax.naming.directory.Attribute;imp

企业分布式微服务云SpringCloud SpringBoot mybatis (十六)Spring Boot中使用LDAP来统一管理用户信息

LDAP简介 LDAP(轻量级目录访问协议,Lightweight Directory Access Protocol)是实现提供被称为目录服务的信息服务.目录服务是一种特殊的数据库系统,其专门针对读取,浏览和搜索操作进行了特定的优化.目录一般用来包含描述性的,基于属性的信息并支持精细复杂的过滤能力.目录一般不支持通用数据库针对大量更新操作操作需要的复杂的事务管理或回卷策略.而目录服务的更新则一般都非常简单.这种目录可以存储包括个人信息.web链结.jpeg图像等各种信息.为了访问存储在目录中的

AD帐户操作C#示例代码(一)——导入用户信息

最近写了一个AD帐户导入的小工具(为啥写作“帐”户呢?),跟大家分享下相关代码,欢迎各位高手指教! 首先,我准备一个这样的Excel文件作为导入模版,并添加了一些测试数据. 然后,我打开Visual Studio 2012,新建一个Windows窗体应用程序.在主窗体界面,我放了一些Label.TextBox.Button控件,还有一个ProgressBar. 开始写代码.首先写从Excel里读取数据的方法. private static async Task<DataTable> GetTa

操作AD的用户信息(通过LDAP应用)

Windows AD是Windows ActiveDirectories的简称,意为活动目录.可以用这个服务,进行用户信息的管理. 安装AD : http://blog.postcha.com/read/80 代码部分 //通过ad域登录 Hashtable env = new Hashtable(); env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); //ad域地址:windos

Sharepoint 2013 通过Secure Store Service获取用户信息

1.在用Secure Store Service获取用户信息之前需要配置SSS. 2.以下代码是获取用户信息: using (SPSite site = new SPSite(webUrl)) { SecureStoreProvider prov = new SecureStoreProvider(); SPServiceContext context = SPServiceContext.GetContext(site); prov.Context = context; //current u

PowerShell AD用户密码过期脚本更新版

越接触PowerShell感觉越喜欢这门脚本语言,简单易懂,功能强大,操作也方便,同时得益于微软的鼎力支持,在不同的微软产品平台都可以使用,如果想研究微软这方面的东西,会点PowerShell绝对是好处多多. 之前也写了一些关于PowerShell的文章,也相当于是自己不断摸索的过程,最近也陆陆续续写了一些脚本,有一些是工作环境里使用的,没办法拿出来分享,有一些是不同环境里都可以使用的,所以决定拿出来分享一下,脚本都很简单,写的也绝对算不上专业,只是基本的功能可以实现. 今天和大家分享的是写的一

根据当前登录域账号 获取AD用户姓名和所在OU目录

根据当前登录域账号 获取AD用户姓名和所在OU目录 #region 根据当前登录域账号 获取AD用户姓名和所在OU目录 /// <summary> /// 根据当前登录域账号 获取AD用户姓名和所在OU目录 返回域用户是否存在 /// </summary> /// <param name="searchUser">要搜索的当前用户名</param> /// <param name="paths">out返回