У нас есть веб-приложение CRM / ERP (ASP.Net Forms), работающее поверх SharePoint (WSS и 201x). С другой стороны, у нас есть надстройки для Office (WPF), тесно интегрированные с веб-приложением через службы WCF.
Оба в значительной степени полагаются на проект служб WCF тремя способами:
Однако есть проблема безопасности. В нашей текущей настройке службы WCF должны быть настроены на анонимную проверку подлинности. В противном случае наше веб-приложение и надстройки не будут работать с текущей конфигурацией.
Наша цель: чтобы каким-то образом отключить анонимный доступ к службам WCF, не нарушая работу веб-приложения или надстроек.
Это оказалось гораздо менее прямолинейным, чем ожидалось.
Это наша типичная установка:
Это то, что мы придумали до сих пор:
Вышеупомянутое решение работает в нашей тестовой среде SharePoint 2007 во всех трех вышеупомянутых местах.
Однако в SharePoint 201x мы не можем заставить работать вызовы WCF из веб-приложения. По крайней мере, не использовать те же клиентские привязки, что и надстройки (в то время как вызовы WCF из надстроек также работают в SharePoint 2013).
Мы получаем следующее сообщение об ошибке: В пакете безопасности нет учетных данных. Еще одна проблема, с которой мы столкнулись: Тип провайдера не определен. (Исключение из HRESULT: 0x80090017)
Вопрос: Как мы можем использовать службы WCF неанонимно из веб-приложения SharePoint и из WPF?
Есть идеи, как настроить и вызвать их в этом сценарии? (тем или иным способом)
Любые мысли по этому поводу приветствуются!
На данный момент наша лучшая рекомендация - это статья о службах WCF с проверкой подлинности и авторизации на основе утверждений: future-processing.pl/blog/… Конечно, мы не хотели бы использовать нашу собственную настраиваемую службу STS, но для этого используем SecurityTokenService SharePoint.
Но, конечно, многие дороги ведут в Рим ... Есть ли другие способы предотвращения анонимного доступа к службам WCF, которые мы можем рассмотреть? Мне кажется, что для этого должно быть как-то довольно прямолинейное решение. Мы, конечно, не первые, кто хочет защитить наши настраиваемые службы WCF в SharePoint на основе утверждений от анонимного доступа, это точно. Может, мы упускаем что-то тривиальное, но важное? Спасибо, Эдди




