Я пытаюсь обновить профиль пользователя sharepoint 2010 и продолжаю получать эту ошибку:
Microsoft.Office.Server.UserProfiles.PropertyNotEditableException: Property Not
Editable: This property can only be modified by an administrator.
at Microsoft.Office.Server.UserProfiles.UserProfileValueCollection.
CheckUpdatePermissions()
Сначала я обновляю AD отдельным блоком кода (который работает).Мы используем службу синхронизации профилей, поэтому значение в конечном итоге распространяется вниз, но мы хотели бы обновить профиль SP в то же время, чтобы немедленно показать изменение.
код:
using (System.Web.Hosting.HostingEnvironment.Impersonate())
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
Response.Write(System.Security.Principal.WindowsIdentity.GetCurrent().Name);
using (var site = new SPSite(SPContext.Current.Site.ID))
{
try
{
SPServiceContext sc = SPServiceContext.GetContext(site);
UserProfileManager userProfileMangager = new UserProfileManager(sc);
SPUser user = site.RootWeb.EnsureUser(loginName);
UserProfile profile = userProfileMangager.GetUserProfile(loginName);
try
{
profile["WorkEmail"].Value = tbEmail.Text;
profile["WorkPhone"].Value = tbPhone.Text;
profile["company"].Value = tbCompany.Text;
profile.Commit();
}
catch (Exception ex)
{
lblMesssage.Text = ex.ToString() + "<br/>";
lblMesssage.Visible = true;
}
}
catch (Exception ex)
{
lblMesssage.Text = ex.ToString();
lblMesssage.Visible = true;
}
}
});
panComplete.Visible = true;
panForm.Visible = false;
waiting.Visible = false;
litSuccess.Visible = true;
}
пара таких вещей там, когда я искал и пробовал разные вещи.Предложения?