Получить удостоверение личности?может текущего пользователя вроде SharePoint? - PullRequest
5 голосов
/ 11 апреля 2011

Я нахожусь на клиентском сайте, где у них есть приложение, которое началось в SharePoint и медленно мигрирует в очень настраиваемое приложение ASP.NET. Некоторые из их элементов данных по-прежнему размещаются в списках SharePoint, два из которых в настоящее время находятся под вопросом: «Примечания» и «Задачи» (довольно простые элементы данных в их настройке SharePoint, ничего особенного в них нет). В ASP.NET мне нужно иметь возможность автоматически создавать новые элементы для этих списков и добавлять их из кода.

Пока все довольно просто. Я нашел существующую веб-часть, которая занималась редактированием этих элементов, прикрепил к нему отладчик, отследил, как он получил свои значения и что он добавил в список и т. Д. Однако одно из полей, добавляемых в элемент списка, не ' Точно так же очевидно. В существующем интерфейсе веб-части поле выглядит следующим образом:

Assigned To field

По сути, это поле для ввода пользователя из текущего домена Windows. Значок книги открывает всплывающее окно, которое позволяет пользователю искать имя и т. Д. В моем текущем тестировании я работаю в качестве локального администратора на компьютере разработчика. Поэтому я просто ищу «admin» во всплывающем окне, и оно заполняет поле «[имя машины] \ Администратор», как и ожидалось. Затем при отладке значение, которое извлекается из поля и вводится в элемент списка SharePoint, равно «1», а не имени или чему-либо подобному.

Я предполагаю, что «1» - это идентификатор локальной учетной записи администратора. В конце концов, имеет смысл. Но мой вопрос, как я могу получить этот идентификатор для текущего вошедшего в систему пользователя в коде? Я нашел код для получения имени текущего пользователя, но не какой-либо числовой (даже если это строка) ID.

Кроме того, это не должно происходить внутри контекста приложения ASP.NET. Существует также клиентское приложение WPF для ноутбуков, которое будет генерировать эти элементы списка и синхронизировать их с сервером при подключении. В настоящее время я работаю в предположении, что пользователь клиента войдет в систему с соответствующей учетной записью домена, известной серверу.

Полагаю, это довольно просто, я просто еще не наткнулся на то, что мне нужно.

1 Ответ

6 голосов
/ 11 апреля 2011

Полагаю, вы ищете это:

int userId = SPContext.Current.Web.CurrentUser.ID;

Кстати, это внутренний идентификатор, назначенный SharePoint пользователю. Чтобы получить этот идентификатор из приложения WPF, вы можете развернуть веб-сервис внутри SharePoint, который будет возвращать этот идентификатор. Или вы можете даже запросить базу данных SharePoint, но я не уверен, что это безопасно: -)

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