Какие-нибудь хорошие Ресурсы для Делегации WCF? - PullRequest
5 голосов
/ 11 мая 2011

Я пытаюсь настроить делегирование WCF, но безуспешно (сценарий: Клиент> Frontend Server> Backend Server).

Теоретически, это должно быть просто с использованием Kerberos (у меня есть домен Windows), но на практике я сталкиваюсь со странными ошибками, связанными с такими вещами, как SSPI или даже с базовой безопасностью сообщений.

Я обнаружил бесчисленные мелкие ресурсы и посты на форумах, где люди сталкивались с проблемами и, по сути, просто находили решения путем проб иошибка.Я посмотрел оглавление на некоторые так называемые «Профессиональные» и «Экспертные» книги WCF, но, похоже, делегирование - это то, что никто не хочет охватывать (на самом деле, в одной из исключений, которые выдает .net, есть опечатка.это заставляет меня чувствовать, что даже Microsoft на самом деле не беспокоится об этом).

Во всяком случае, есть ли ресурс, где кто-то, кто на самом деле имеет ключ и уверенность, чтобы объяснить весь процесс AZ, используя методологический подход с фактическими объяснениями ине просто бессмысленные блоки кода, которые не работают и никогда не объясняются?

Ответы [ 2 ]

1 голос
/ 17 мая 2011

Код WCF для этого на самом деле довольно прост. Настроить учетную запись службы и поведение Kerberos может быть довольно сложно.

Причина, по которой вам так трудно находить примеры, заключается в том, что на самом деле очень немногие люди делают это. Процесс, который выполняет делегирование, должен выполняться под учетной записью, «доверенной для делегирования» в Active Directory (на контроллере домена). Эта способность настолько мощна, что многие ИТ-отделы имеют четкую политику против нее.

Существует концепция «ограниченного делегирования», которая определяет, к каким ресурсам можно получить доступ, но опять же это определяется в Active Directory, а не в вашем коде. Прежде чем продолжить кодирование, я предлагаю убедиться, что у вас есть возможность внести необходимые изменения в Active Directory. Включение учетной записи для делегирования - это битва, которую я проиграл более чем в одной компании.

Для справок предлагаю:

Да, обе эти ссылки немного устарели, но обе они применимы. Все шаги ограниченного делегирования, перечисленные в разделе «Как», предназначены для Active Directory и не привязаны к ASP.

1 голос
/ 15 мая 2011

Это скорее проблема Kerberos, чем проблема WCF.

Основная идея заключается в том, что клиент отправляет запрос в контексте безопасности на внешний сервер, а затем этот контекст безопасности отправляется на внутренний сервер..

Это нельзя просто исправить в коде.Компьютер, который пересылает маркер kerberos, должен быть доверенным для этого.Учетная запись, под которой выполняется код, также должна быть доверенной для пересылки токена безопасности.

Для общего Kerberos: http://support.microsoft.com/kb/907272

Это Kerberos для SharePoint, но есть много общего: http://blogs.msdn.com/b/martinkearn/archive/2007/04/23/configuring-kerberos-for-sharepoint-2007-part-1-base-configuration-for-sharepoint.aspx

...