2015-05-05 3 views
1

Мы конвертируем все разрешения SP в группы ActiveDirectory (по одному на один объект без имени, на уровень ролей). Я хотел имена групп, чтобы отразить, где права были/есть, поэтому я назначил каждую группу с именем, которая соответствовала структуре сайта:SPWeb.EnsureUser имеет ограничения?

sitecollection|site|list|Full Control

Active Directory была проблемы с трубами и потенциальной длиной, так Я переконфигурировал все, чтобы вместо этого использовать описание объекта Active Directory. Действительным CN группы является -someNumber- (-1 -, - 2- и т. Д.).

Я столкнулся с интересными явлениями, добавляя группы в SharePoint под тем же уровнем роли; Мне пришлось начинать группы на 1000 человек, но EnsureUser не мог найти группу независимо от того, что.

$web.EnsureUser('c:0-.f|myprovider|-1-') говорит, что его не существует, тогда как $web.EnsureUser('c:0-.f|myprovider|-1000-') делает все в порядке.

Есть ли какое-то ограничение количества символов имя учетной записи SAM или имя участника при поиске по SharePoint?

ответ

-2

Вы должны указать имя домена в EnsureUser - Домен \ Имя пользователя

Или вы можете просто добавить I: 0 # .f | myprovider | к имени пользователя, чтобы он выглядел как i: 0 # .f | myprovider | myuser и передал результат в EnsureUser. В моем случае «myprovider» - это имя моего пользовательского поставщика членства.

+0

Мы переносим все наши разрешения на ActiveDirectory - полностью отделены от SharePoint (так как группы SP не могут пересекать семейства сайтов). Таким образом, мы не можем использовать имя пользователя, поскольку мы не добавляем отдельных пользователей. И 'c: 0-.f | myprovider | -1000-' отлично работает, поэтому я не уверен, что это проблема с форматом, который я передаю. – Christopher

Смежные вопросы