Как можно определить идентификатор пользователя MySite


В веб-части Sharepoint, написанной на c#, мне нужно узнать либо идентификатор текущего сайта пользователей MySite, либо проверить, является ли текущий сайт сайтом пользователей MySite.

Идеи?

1 3

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

Очевидно, ну не совсем!