我想禁止MySite上的用户在MySite上编辑他们的详细信息。
当他们点击编辑我的个人资料按钮时,它应该向他们显示他们的详细信息的概述,但只有指定的输入字段应该可由他们编辑。
例如,如下图所示:
如果可能我想通过代码设置它,因为PersonalSite创建是由EventReceiver处理的。
答案 0 :(得分:0)
我现在已经找到了符合我需要的答案。
我在创建PersonalSite时收到了用户的UserProfile
。
然后遍历我选择的属性,并在IsUserEditable
ProfileSubTypeProperty
属性设置为false
SPServiceContext serviceContext = SPServiceContext.GetContext(site);
UserProfileManager profileManager = new UserProfileManager(serviceContext);
UserProfile profile = null;
profile = profileManager.GetUserProfile(domainUserName);
List<string> props = GetPropertiesFromSetting();
foreach (string propName in props)
{
profile[propName].ProfileSubtypeProperty.IsUserEditable = false;
}