All
Недавно я пытался внедрить пользовательский поставщик утверждений в SharePoint 2010. Заявки заполняются некоторой бизнес-логикой из базы данных.
Похоже, что претензии предъявляются пользователям. Это хороший первый шаг.
Следующим шагом было проверить, работает ли сборщик людей.
PeoplePicker может искать и разрешать имя, если вы нажмете кнопку «Проверить имена». ТЕМ НЕ МЕНИЕ...
Если вы войдете в PeoplePicker и нажмете кнопку «Обзор», найдите иск и выберите его, добавьте его в поле «Добавить» и нажмите кнопку «ОК». Ничего не происходит, ничего не добавляется в поле «Предоставить разрешения».
В качестве альтернативы, если вы просто наберете заявку и нажмете кнопку «проверить имена», она разрешится нормально, но если вы нажмете «ОК», то поле станет пустым и будет указано, что это необходимо.
В качестве альтернативы, снова, если вы ввели претензию и НЕ нажимаете кнопку «проверить имена» и просто нажимаете «ОК», вы получаете сообщение об ошибке, в котором говорится:
Параметр loginName не может быть пустым или длиннее 251 символа.
Таким образом, при реализации SPClaimProvider есть 2 метода FillResolve, один из которых принимает строку, а другой - SPClaim. Тот, кто принимает SPClaim, НИКОГДА не вызывается, никогда.
Я считаю, что, если я правильно понимаю, именно он принимает окончательное решение о применении безопасности на основе претензии в SharePoint.
Я пытался быть как можно более подробным без предоставления кода, но, пожалуйста, дайте мне знать все, что вам нужно знать, чтобы помочь решить эту проблему.
Заранее спасибо,
Скотт