Веб-сервисы и проблема аутентификации на основе претензий
-
09-12-2019 - |
Вопрос
Я сталкиваюсь с некоторыми проблемами, доступа к претензию на основе моего веб-сервиса.
В моем приложении существует только претензий: Windows Auth отключается и NTLM также. Если я получаю доступ к SharePoint на веб-интерфейсе, это узнает меня как UserX, и все идет.
Если я доступен в WS, есть 2 сценария:
- .
- звонок по использованию (системный счет) -> Все идет хорошо
- call по userx (no sa, но scadmin) -> ссылка на объект не установлена на экземпляр объекта
Код очень просто, получает только текущее имя пользователя пользователя:
.using (SPSite sito = new SPSite("https://to0wss2k10rey03:50000/sites/Test1")) { using (SPWeb web = sito.OpenWeb()) { string Username = web.CurrentUser.LoginName; } }
Исключение поднимается, когда я пытаюсь получить CounseUser, что, кажется, как нуль.
Решение
Я тихо, мистифицируется тем, как он работает с использованием, он всегда должен терпеть неудачу.
При работе с претензиями без NTLM единственный способ пропустить учетные данные - через файл cookie Fedauth с вашим токеном SharePoint STS SAML.Чтобы получить этот токен, вы должны вызвать SharePoint STS с помощью Saml Token из вашего идентификатораProvider (ADFS?).Чтобы получить этот токен, вы должны позвонить поставщику идентификатора с помощью Info.
см. претензии прокси - библиотека AC # для вызова претензий защищенных веб-сервисов Подключение к SharePoint с утверждением ATTS AUTTICICAL AUTTICIFICATION или основной блог о SharePoint с претензиями