У меня есть идентификатор входа этого пользователя. Но в коде я хочу преобразовать это имя входа в SPUser Object. Могу ли я конвертировать LoginName (тип string) в SPUser. Или есть способ конвертировать токен пользователя удостоверения пользователя Windows в SPUser. Я добавляю пользователей в spgroup (так не существует на сайте). Все, что у меня есть, - это токены пользователей Windows.Как получить объект SPUser с использованием идентификатора пользователя (имя_домена userid)
7
A
ответ
21
Посмотрите на SPWeb.EnsureUser
. От MSDN:
«Проверяет, принадлежит ли указанное имя входа действующему пользователю веб-сайта, и если имя пользователя еще не существует, добавляет его на веб-сайт».
Используется таким образом:
SPUser newUser = SPContext.Current.Web.EnsureUser(@"domain\logonname");
9
SPUser user = SPContext.Current.Web.Users["domain\\login"];
+0
Я добавление пользователей в группу. Таким образом, его доза не существует на сайте. – sssreddy
+1
поэтому используйте EnsureUser, как описано в CBono post –
Позаботьтесь с EnsureUser - он создает нового пользователя, если он не находит тот, который вы ищете –
Как это сделать, если мне нужно имя от пользователей, которые не обязательно были добавлены на сайт, но они присутствуют в ActiveDirectory, например? (и мне не нужно, чтобы они были добавлены на сайт) – rolivares
@rolivares - Вам просто нужно их отображаемое имя? – CBono