码迷,mamicode.com
首页 > 其他好文 > 详细

SharePoint2010 PeoplePicker 搜索出来的数据错误,冗余

时间:2014-08-28 11:08:29      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   io   for   ar   文件   数据   

1,查询症结:

经过查资料知道,peoplepicker搜索出来的数据来源于4个地方。

  • Your membership provider (such as Active Directory)
  • The User Information List (UIL) in the site collection you’re on
  • The User Profile Service Application (UPA)
  • browser’s cache

参考资料:

http://www.tcscblog.com/4th-profile-source-in-sharepoint-2013s-people-picker/

2,问题&解决方案:

问题一:如果遇到同一个帐号搜索出来多条数据.

 

这几日遇到了一个奇葩的问题,在人员选择器里搜索用户尽然同一个loginName,搜索出来2条数据。

loginName 为  zhangl21的 有2个人......在我混SP的这几年里真的是没遇到过啊。。

bubuko.com,布布扣

bubuko.com,布布扣

 

解决方案:

首先在管理中心的UserProfile Service 查查是否同步,同步是否成功。鄙人的问题就是查了下同步的配置链接里,zhangl21所在的OU,以及这个人未勾选。
bubuko.com,布布扣


要到AD里去查查出错用户的组织架构,是否在配置链接里勾选上。没有勾选就一定要勾选上。


配置同步链接的方法:
http://pjj1020.blog.163.com/blog/static/3018433020118234241887/


勾选上,之后同步。在配置文件里搜索时,就会搜索出来正确的数据,但是此时在人员选择器里搜索还是出现问题。这时,我们需要代码来修改下错误数据的信息

SPSecurity.RunWithElevatedPrivileges(delegate()
            {
                using (SPSite site = new SPSite("http://XXX/"))
                {
                    using (SPWeb web = site.OpenWeb())
                    {
                        web.AllowUnsafeUpdates = true;
                        SPList userList = web.SiteUserInfoList;
                        //zhangl21的 ID 为 2465
                        SPListItem itemUser = userList.GetItemById(2465);

                        itemUser["Title"] = "Zhang, Lingwen";
                        itemUser["JobTitle"] = "法律顾问";
                        itemUser["Department"] = "法律事务部";
                        itemUser["EMail"] = "Lingwen.Zhang@XXX.com";
                        itemUser["SipAddress"] = "   Lingwen.Zhang@XXX.com";
                        itemUser["WorkPhone"] = " 185XXXXXXXX";
                        itemUser["Office"] = "北京";


                        itemUser.Update();
                        userList.Update();
                        web.AllowUnsafeUpdates = false;
                        
                    }
                }

            });

修改后,在人员选择器里搜索,就会出现zhangl21仅一条数据,不会出现之前的冗余数据。修改时切记,是修改旧数据为新数据。

问题二:搜索出有很多测试帐号,以及来源于 membership provider 里的数据,各种删除,各种清理后还是会搜索出来之前的数据。

解决方案:

A,清理缓存

B,修改IE配置

bubuko.com,布布扣

取消勾选后,可以再试试

 

SharePoint2010 PeoplePicker 搜索出来的数据错误,冗余

标签:style   blog   http   color   io   for   ar   文件   数据   

原文地址:http://www.cnblogs.com/yangyang-liu/p/3940975.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!