Проблемы с разрешением имен утверждений в SharePoint 2010

Проблемы с разрешением имен утверждений в SharePoint 2010

Я сталкивался с этой проблемой уже несколько раз и думаю, что могу поделиться опытом борьбы с нею. Бывают случаи, когда разрешение имен не работает, например если ввести имя в поле ввода и нажать кнопку "Разрешить". Можно даже подключить отладчик, если у вас собственный поставщик утверждений; вы увидите, что он все делает правильно, однако в итоге введенное имя все равно подчеркивается красной волнистой линией и сообщается, что совпадений не найдено. Показательно и то, что, оказывается, при этом перестают действовать и стандартные поставщики. Например, даже если ввести "NT Authority/Все прошедшие проверку пользователи", это имя тоже не удастся разрешить.

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

Однако главный вопрос — в том, что именно следует искать, если возникла проблема, и как от нее избавиться.

ВАЖНЫЙ ВЫВОД (ЧИТАТЬ ОБЯЗАТЕЛЬНО!)

Вышесказанное наглядно иллюстрирует одну важную мысль: уважаемые разработчики нестандартных поставщиков утверждений, НЕ генерируйте исключения в своих поставщиках! Иначе вы рискуете стать автором дефектного поставщика, который заблокирует разрешение имен во всей ферме. Вряд ли вам тогда понравится выслушивать все, что о вас думают остальные.

Это локализованная запись блога. Оригинал статьи см. по ссылке Problems Resolving Claims Names in SharePoint 2010