Чей я сайт? (Программный) - PullRequest
       25

Чей я сайт? (Программный)

6 голосов
/ 12 октября 2011

Я создаю веб-часть для размещения на Sharepoint My Sites. Мне нужно получить SPUser, у которого на Моем сайте есть веб-часть. В настоящее время я просто использую

Request.QueryString["accountname"]

но это не будет работать на моем личном сайте, и я не уверен, что он будет работать постоянно.

Ответы [ 3 ]

2 голосов
/ 11 марта 2013

вот еще один подход с использованием UserProfile (Microsoft.Office.Server.UserProfiles)

var profileLoader =   Microsoft.SharePoint.Portal.WebControls.ProfilePropertyLoader.FindLoader(HttpContext.Current.Handler as Page);
var userProfile = profileLoader.ProfileLoaded;

var loginName = userProfile["AccountName"];

А затем просто получите своего SPUser от SPContext.Current.Web;

2 голосов
/ 12 октября 2011

Когда Request.QueryString["accountname"] пусто, пользователь должен находиться на своем собственном mysite, чтобы вы могли посмотреть в SPContext.Current.Web.CurrentUser, чтобы получить пользователя.

1 голос
/ 14 мая 2015

Другой возможный способ сделать это - использовать свойство SPSite Owner.Это даст вам SPUser объект, который обычно предпочтительнее.Это свойство соответствует свойству «Владелец сайта», которое можно настроить в Central Admin в разделе «Изменить администратора семейства сайтов».Однако следует помнить, что, поскольку это можно настроить, его нельзя доверять как абсолютный источник информации о том, на каком сайте вы находитесь.

...