Как можно определить идентификатор пользователя MySite
В веб-части Sharepoint, написанной на c#, мне нужно узнать либо идентификатор текущего сайта пользователей MySite, либо проверить, является ли текущий сайт сайтом пользователей MySite.
Идеи?
1 ответ:
Я провел вторую половину дня, работая над этим,и разработал его.
Добавьте следующие инструкции using после ссылки на Microsoft.Офис.Сервер.dll и Microsoft.служба SharePoint.dll
using Microsoft.SharePoint; using Microsoft.Office.Server; using Microsoft.Office.Server.UserProfiles;
Затем откройте Профиль пользователя, выполнив следующие действия:
ServerContext sc = ServerContext.Current; UserProfileManager upm = new UserProfileManager(sc); UserProfile up = upm.GetUserProfile(SPContext.Current.Web.CurrentUser.LoginName);
Затем вы можете получить идентификатор семейства сайтов (SPSite.ID) Майсита через:
upm.GetUserProfile(SPContext.Current.Web.CurrentUser.LoginName).ID
Или идентификатор сайта (SPWeb.ID) через:
upm.GetUserProfile(SPContext.Current.Web.CurrentUser.LoginName).PersonalSite.RootWeb.ID
Очевидно, ну не совсем!