Когда пользователь проходит проверку подлинности в SharePoint, для него создается запись в хранилище профилей, даже если его разрешение на сайт исходит от группы AD.
Я провел быструю проверку, добавив в мою AD нового пользователя (TGroupsUser) и группу (SPtestPermissions), поэтому у меня никогда не было шансов на моем сайте. Я добавил пользователя в группу и дал группе «Член» разрешения на мой сайт. Затем я прошел аутентификацию в SP с этим новым пользователем.
Чтобы показать, что пользователь является частью этого SPWeb, я написал небольшую веб-часть для перечисления пользователей в Интернете. Обратите внимание, что есть три группы пользователей с SPWeb. Все пользователи, пользователи сайта и пользователи. Смотрите эту ссылку для полного описания этих свойств. По сути, пользователи являются пользователями в Интернете. Пользователи сайта - это пользователи и группы в семействе сайтов. Все пользователи - это все пользователи сайта, включая пользователей, которым предоставлено прямое разрешение или , предоставленных через группу, а затем посетивших сайт. Ниже приведены результаты за вычетом системных учетных записей.
Все пользователи
SPSDEV \ rross
SPSDEV \ sptestpermissions
SPSDEV \ TGroupsUser
Пользователи сайта
SPSDEV \ rross
SPSDEV \ sptestpermissions
SPSDEV \ TGroupsUser
Пользователи
SPSDEV \ rross
Поскольку эта учетная запись (TgroupsUser) является частью коллекции пользователей для Интернета, вы можете рассматривать ее как пользователя, добавленного непосредственно на сайт. Чтобы завершить тестирование, я создал задачу со следующим кодом для поля assignTo.
TaskItem[SPBuiltInFieldId.AssignedTo] = web.SiteUsers.GetByEmail("myemail@domain.com");
Вот скриншот новой задачи, назначенной TGroupsUser.
К вашему сведению - мне нужно было использовать AllowUnsafeUpdates для веб-объекта.