Sharepoint-Active Directory配置文件

时间:2011-01-14 10:44:10

标签: sharepoint-2007

我编写了以下代码来编辑MOSS 2007的用户配置文件。用户配置文件正在通过Active目录填充。

SPSecurity.RunWithElevatedPrivileges(delegate()
            {
                SPSite sc = new SPSite("http://xxxxx:81");
                ServerContext context = ServerContext.GetContext(sc);
                HttpContext currentContext = HttpContext.Current;
                HttpContext.Current = null;
                UserProfileManager profileManager = new UserProfileManager(context);
                foreach (UserProfile profile in profileManager)
                {
                    if (profile[PropertyConstants.PreferredName].ToString().Contains("Domain\\"))
                    {
                        profile[PropertyConstants.PreferredName].ToString().Replace("Domain\\", "").ToString();
                        profile.Commit();
                        NoOfUser++;
                    }

}

详细信息正在正确更新。

我的问题是我需要使用哪个网站来更新详细信息。

例如,我有SSP服务WebApplication,管理中心Web应用程序和其他Web应用程序。

我需要使用哪个网站来更新个人资料,以便在所有网站中更新个人资料名称。

任何人都可以指出我正确的方向。

谢谢。 哈里吉拉拉 NHS Direct。

1 个答案:

答案 0 :(得分:3)

使用sharepoint 2007,SPSite属于SPWebApplications,它与存储用户配置文件属性的SSP相关联。

SPSite sc = new SPSite("http://xxxxx:81");
ServerContext context = ServerContext.GetContext(sc);

这些行有效性查找与您传入的SPSite网址相关联的SSP。

看起来您只有一个SSP,因此您在构造函数中使用的任何SPSite URL都会为您提供正确的SSP参考。

一旦信息存储在SSP数据库中,计时器作业就会将信息从SSP存储复制到各个SPSite数据库,复制到隐藏列表“用户信息列表”中。

此链接解释了2010年的情况,让我看看我能否在2007年找到它:

http://www.harbar.net/articles/sp2010ups.aspx

修改

我为您找到了2007年的解释链接:

http://blah.winsmarts.com/2007-7-MOSS_User_Profile_Info_-_How_the_information_flows.aspx