SharePoint - WSS 2.0, Как я могу получить аутентифицированное имя пользователя с Javascript / Jquery? - PullRequest
0 голосов
/ 04 апреля 2011

Я пытался сделать это разными способами, но безуспешно. Я могу использовать только сценарии на стороне клиента. Я новичок в этом ... это вообще возможно?

Некоторые дополнительные детали:

  • В настоящее время я работаю со списком на дочернем сайте и хочу получить имя пользователя аутентифицированного пользователя для добавления в список.
  • Я успешно использую: http://code.google.com/p/yasq/ для добавления / удаления / изменения элементов списка
  • У меня нет доступа администратора к основному сайту.
  • Я пробовал SPServices, но не могу заставить его вернуть какие-либо данные.

Ответы [ 2 ]

1 голос
/ 05 апреля 2011

Это доступно через core.js и init.js.Вы можете получить идентификатор пользователя SharePoint текущего пользователя, вошедшего в систему, а затем выполнить поиск по службе профиля пользователя.

Если у вас есть макет, который включает в себя core.js и init.js, вы можете использовать глобальную переменную _spUserId , которая является частью текущего контекста.Просто убедитесь, что ваш скрипт загружается после JavaScript JavaScript с помощью _spBodyOnLoadFunctionNames.push ("YourWrapperFunction").

В SP 2010 вы можете просто использовать объект ClientContext, предоставленный объектной моделью клиента.currCtx = новый ClientContext (currentWebUrl);Подробнее здесь: http://msdn.microsoft.com/en-us/library/ee536158.aspx

Если ничего не помогает, вы можете сделать то, что делает библиотека YASQ, на которую вы ссылались, и сделать запрос на странице, которая отображает информацию о пользователе, такую ​​как _layouts / userdisp.aspx, иочистить информацию от результата с помощью регулярных выражений.

0 голосов
/ 05 апреля 2011

Вот уродливое решение, которое я написал давным-давно:

function getCurrentUser() { var tags = document.getElementsByTagName('a'); for (var i=0; i < tags.length; i++) { if(tags[i].innerText.substr(0,7) == 'Welcome') { return tags[i].innerText.substr(8,tags[i].innerText.length); } } }

// просмотрите все теги A, найдите тот, который начинается с «welcome», и извлеките имя зарегистрированного пользователя.

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