设为首页 收藏本站
查看: 1114|回复: 0

[经验分享] sharepoint 在InfoPath中如何获取当前用户的信息(Profile)(转闪电)

[复制链接]

尚未签到

发表于 2015-9-27 11:01:41 | 显示全部楼层 |阅读模式
  在InfoPath中如何获取当前用户的信息(Profile)


  InfoPath本身提供了一个函数UserName()用于获取当前用户,但这个函数只能获取到登录名后面一段。假如当前用户是Domain\User1,用函数UserName()获取到的值是User1。在单域环境下使用UserName()函数是没有问题的。但是遇到复杂的域环境时,该函数就无法满足用户的需要了。比如User1同时在Domain0和Domain1中都有用户名称为User1的用户:Domain0\User1和Domain1\User1。InfoPath的函数UserName()是无法区分这两个名称的。
  为了解决这个问题,我在网上搜了好长时间,最后终于找到彻底的解决办法。在此分享给各位网友。
  有个前提,就是我使用InfoPath是在SharePoint上填写表单的情况,因此获取当前用户的方法是从SharePoint的UserProfileService中获取的。如果不是在SharePoint填写表单的情况,下面所述方法可能不适合您。
第一步:用SharePoint表单库模板新建一个InfoPath表单
DSC0000.png
第二步:为UserProfileService建立数据连接
  在功能区中选择数据连接:
DSC0001.png
  在数据连接对话框中点击添加按钮:
DSC0002.png
  在数据连接向导第一页选择新建连接->接收数据:
DSC0003.png
  在数据连接向导第二页选择SOAP Web服务:
DSC0004.png
  在数据连接向导第三页输入UserProfileService的网址:http://ServerName/_vti_bin/UserProfileService.asmx
DSC0005.png
  在数据连接向导第四页,选中GetUserProfileByName:
DSC0006.png
  在数据连接向导第五页,不用设置,直接点下一步:
DSC0007.png
  在数据连接向导第六页,保持复选框为非选择状态:
DSC0008.png
  在数据连接向导最后一页,保持默认选项,完成向导:
DSC0009.png
  添加完数据连接后,数据连接对话框变成如下,关闭此对话框:
DSC00010.png
  第三步:建立域用于存放当前用户的LoginName
  在域面板中:
DSC00011.png
  添加一字符串域CreaterLoginName:
DSC00012.png
  然后再打开域属性:
DSC00013.png
  设置默认值,点默认值后面的按钮fx:
DSC00014.png
  在插入公式中,点击插入域或组。在域下拉框中选择GetUserProfileByName,然后选中myFields\dataFields\tns:GetUserProfilePyNameResponse\GetUserProfileByNameResult\PropertyData\Values\ValueData\Value。如下图所示:
DSC00015.png
  再点击筛选数据:
DSC00016.png
  点击添加按钮:
DSC00017.png
  在第一个下拉框中选择”选择域或组“,在域下拉框中选择GetUserProfileByName,然后选中myFields\dataFields\tns:GetUserProfilePyNameResponse\GetUserProfileByNameResult\PropertyData\Name。如下图所示:
DSC00018.png
  在第二个下拉框中选择”等于“,在第三个下拉框中,选择”键入文本…“,输入”AccountName“:
DSC00019.png
  点击几次确定,关闭对话框,回到”域或组属性对话框“中,去掉”重新计算公式时刷新值“前面的钩:
DSC00020.png
第四步:使用LoginName
  就看您需要怎么样用LoginName了,我这里简单将CreaterLoginName显示在表单中,看看预览效果:
DSC00021.png
写在最后:
  如果需要获取其他用户的Profile,则只要在获取数据之前给GetUserProfileByName中设置AccountName的值,再获取数据,就能够获取到其他用户的Profile:
DSC00022.png
  如果需要获取其他Profile的值,只需要将AccountName改成其他属性值。可用的属性值有:
  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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-119407-1-1.html 上篇帖子: 使用InfoPath 2010自定义Sharepoint表单样式 下篇帖子: Sharepoint学习笔记—习题系列--70-573习题解析
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表