我想禁止 MySite 上的用户在 MySite 上编辑他们的详细信息。
当他们单击“编辑我的个人资料”按钮时,它应该向他们显示他们详细信息的概述,但他们只能编辑指定的输入字段。
例如像这张照片:
如果可能的话,我想通过代码设置它,因为 PersonalSite 创建是由 EventReceiver 处理的。
我想禁止 MySite 上的用户在 MySite 上编辑他们的详细信息。
当他们单击“编辑我的个人资料”按钮时,它应该向他们显示他们详细信息的概述,但他们只能编辑指定的输入字段。
例如像这张照片:
如果可能的话,我想通过代码设置它,因为 PersonalSite 创建是由 EventReceiver 处理的。
我现在自己找到了一个适合我需要的答案。
UserProfile
在创建他的 PersonalSite 时,我得到了用户的。
然后遍历我选择的属性并将IsUserEditable
属性设置为 falseProfileSubTypeProperty
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;
}