Отображение текущего аутентифицируемого Пользователя SharePoint от веб-Части Средства просмотра Страницы asp.net

В ECMAScript 5 у вас есть новый подход в итерационных полях literal - Object.keys

. Дополнительную информацию вы можете увидеть на MDN

Мой выбор ниже, как более быстрое решение в текущих версиях браузеров (Chrome30, IE10, FF25)

var keys = Object.keys(p),
    len = keys.length,
    i = 0,
    prop,
    value;
while (i < len) {
    prop = keys[i];
    value = p[prop];
    i += 1;
}

Вы можете сравнить производительность этого подхода с различными реализациями на jsperf.com :

Поддержка браузера, которую вы можете видеть на таблице сопоставления Kangax

Для старого браузера у вас простой и full polyfill

UPD:

сравнение производительности для всех наиболее популярных случаев в этом вопросе на perfjs.info:

объектная итерация

5
задан Joel Coehoorn 21 November 2011 в 03:54
поделиться

4 ответа

Если Вы хотите получить в настоящее время аутентифицируемого пользователя от контекста SharePoint, необходимо остаться в контексте SharePoint. Это означает размещать Ваше пользовательское веб-приложение в SharePoint (см. http://msdn.microsoft.com/en-us/library/cc297200.aspx). Затем из Вашей ссылки пользовательского приложения Microsoft. SharePoint и использование SPContext возражают для получения имени пользователя. Например:

SPContext.Current.Web.CurrentUser.LoginName

Можно все еще использовать веб-Часть Средства просмотра Страницы для ссылки на URL сайта, теперь расположенного в контексте SharePoint.

7
ответ дан 14 December 2019 в 04:51
поделиться

Спасибо "куча" для ответов!

Оказывается, что, пока страница asp.net использует тот же URL и порт как сайт Sharepoint, работы аутентификации через оба сайта.

Решение состоит в том, чтобы использовать Виртуальный каталог в sharepoint сайте и установить страницу asp.net там.

1
ответ дан 14 December 2019 в 04:51
поделиться

Когда это работает в отладке, которая использует в SharePoint?

Ваша страница и сайт Sharepoint могли бы также быть на различных серверах, что касается аутентификации - для получения информации по Вам, возможно, должен был бы передать его через QueryString от webpart, если Вы можете - или Вы, возможно, должны были бы сделать свой собственный webpart, чтобы сделать это (просто помещает IFRAME в часть с набором src к Вашей странице с QueryString, передающим имя пользователя).

Действительно кажется, что это было бы проблемой безопасности при использовании названия чего-нибудь, хотя - если Вы просто отображаете его, затем это прекрасно, вероятно.

Если Вы на самом деле должны аутентифицироваться, Вы, возможно, должны были бы добавить аутентификацию в web.config сайта, размещающего Вашу автономную страницу.

править: Я думаю, что у Вас была бы лучшая удача при помещении страницы на тот же порт и сервер как SharePoint.

0
ответ дан 14 December 2019 в 04:51
поделиться

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

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

0
ответ дан 14 December 2019 в 04:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: