Потратив значительное количество времени на это, я дошел до корня своей проблемы (я думаю).Я пытался создать пользовательскую веб-часть для входа в систему, которую можно было бы развернуть на домашней странице моего приложения.Оказывается, где-то в реализации ValidateToken есть вызов SPPassiveIssuerName.GetIssuerName.В этом методе принимается решение, основанное на результате вызова TrustedProviderSignInPage.IsTrustedPageRequest (этот метод возвращает значение true, если запрос hhtpcontext относится к чему-то в виртуальном каталоге http://xxxx/_trust/).
ЕслиTrustedProviderSignInPage.IsTrustedPageRequest возвращает значение true, SharePoint выполняет поиск в TrustedLoginIssuerNameRegistry, что хорошо, поскольку мой сертификат зарегистрирован как доверенный.Однако, если он возвращает false, SharePoint проверяет только LocalLoginIssuerNameResgistry - который в основном жестко запрограммирован, чтобы возвращать только встроенный поставщик авторизации.Поскольку моя домашняя страница не находится в каталоге / _trust /, это никогда не сработает - что невероятно раздражает!
Итак, подведем итоги - вы, вероятно, можете сделать это только в SharePoint на странице, которую вы планируете разместитьконтроль входа в систему находится в каталоге / _trust /.
ВАЖНОЕ РЕДАКТИРОВАНИЕ (01/12/2011): Так что после вчерашнего тщательного спада у меня появилась идея заменить встроенный SharePointРеестр имен эмитентов (SPPassiveIssuerNameRegistry) со стандартным ConfigurationBasedIssuerNameRegistry и добавлением в мой IP-STS в качестве доверенного эмитента.Это немного продвинуло меня вперед, но я все еще получал ошибку при вызове SetPrincipalAndWriteSessionToken, что эмитент не может быть найден в реестре имен эмитента.Я не мог решить это часами, но в конце концов я решил реализовать собственный реестр имен эмитентов.После некоторой отладки выясняется, что в какой-то момент в процессе создания утверждений SharePoint пытается проверить свою встроенную службу маркеров безопасности (даже если я ее не использую).Поэтому я вернул пакет в реестр имен издателей, основанный на конфигурации, и добавил в SharePoint один из них, как доверенного (как и моего), - и все это, похоже, работает - woop!Я опубликую полное решение в какой-то момент и отправлю сюда со ссылкой.Будем надеяться, что он придерживается !!
Мэтт
Мэтт