Получение имени пользователя в Sharepoint? - PullRequest
2 голосов
/ 05 октября 2010

Как Sharepoint получает действительное имя пользователя, отображаемое в верхнем правом углу?например, Welcome John Smith

Мне нужно назвать это имя как переменную или параметр пользовательского кода в редакторе XSL, но я не могу понять, как я могу его получить, это глобальная переменная?

Ответы [ 4 ]

1 голос
/ 20 июня 2012

Если вы хотите использовать SPServices (что здорово, кстати):

function getCurrentUsersName(){
var firstName = $().SPServices.SPGetCurrentUser({
    fieldName: "FirstName",
    debug: false
});
return firstName;
}

function getCurrentUsersLastName(){
var lastName = $().SPServices.SPGetCurrentUser({
    fieldName: "LastName",
    debug: false
});
return lastName;
}

Вы можете найти множество других похожих полей здесь :

1 голос
/ 06 октября 2010

Вы можете получить имя учетной записи пользователя, используя переменную сервера LOGON_USER . Однако это не возвращает отображаемое имя пользователя.

Мне удалось получить что-то работающее, комбинацию веб-частей для отображения их имени:

  1. Добавьте UserContextFilterWebPart (может потребоваться включить эту веб-часть в галерее веб-частей).
  2. Добавьте веб-часть DataView, которая запрашивает метод GetUserInfo (часть веб-службы UserGroup.asmx).
    • а. Нажмите «Подключиться к веб-службе ...» на панели «Библиотека источников данных» в разделе «Веб-службы XML»
    • б. Введите местоположение описания службы (URL-адрес веб-службы группы пользователей). Пример: http://server/sites/SiteCollection/SubSite/_vti_bin/UserGroup.asmx?WSDL
    • с. Нажмите Подключиться (или переподключиться)
    • d. Выберите GetUserInfo для раскрывающегося списка Операция (остальные выпуски должны быть в порядке)
    • е. Измените параметр userLoginName и установите флажок, чтобы разрешить установку значения через соединение веб-части. Я также добавил значение по умолчанию для тестирования (например, домен \ логин).
    • е. Нажмите ОК.
    • г. Нажмите на источник данных и нажмите Показать данные
    • ч. Выберите нужные столбцы и перетащите их на страницу
  3. Соедините их вместе, используя соединения веб-частей (UserContext предоставлен для DataView).
0 голосов
/ 06 октября 2010

SPContext.Current.Web.CurrentUser.LoginName предоставит вам значение для имени входа текущего пользователя, как показано в правом верхнем углу стандартного портала.

Если вы хотите использовать это сXSLT, вам нужно найти способ присвоения этого значения параметру XSL во время выполнения.

0 голосов
/ 05 октября 2010

Я полагаю, что это происходит через NTLM-аутентификацию / Active Directory.Обычно я получаю имя входа DOMAIN / User в поле HttpContext.Current.User.Identity.Name, а затем сопоставляю его с Active Directory и возвращаю фактическое имя пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...