как защитить службу Azure WebRole svc с помощью ACS

#wcf #azure #wcf-security #wif #acs

#wcf #azure #wcf-безопасность #с помощью #acs

Вопрос:

Я пытаюсь защитить службу WCF, размещенную в IIS, размещенную в Azure, с помощью WIF и ACS.

Я нашел здесь много практических рекомендаций:http://msdn.microsoft.com/en-us/library/gg185939.aspx

Меня особенно интересуют те, которые описывают, как создать безопасную службу WCF и пройти аутентификацию с использованием сертификата или имени пользователя / пароля.

Теперь часть определения ACS довольно понятна. Но когда дело доходит до защиты самой службы, я испытываю трудности. Я использую WebRole и SVC file для предоставления доступа к службе, а настройка в инструкции выполняется в коде, и я предполагаю, что это также не будет работать с Azure webrole.

Мы будем признательны за любую помощь в том, как заставить эту комбинацию работать!

Ответ №1:

Просто небольшое уточнение: если вы полагаетесь на ACS, то аутентификация (в любой форме: сертификаты / имя пользователя / пароль и т.д.) Будет происходить в ACS, а не в вашем приложении. Ваша служба WCF будет просто ожидать токен, выданный ACS, и останется в значительной степени неосведомленной о типе используемой аутентификации.

Кроме того, фактическая реализация зависит от того, создаете ли вы службу SOAP или REST. Обычно используются разные форматы токенов и протоколы (например, SAML против SWT и т.д.)

Помимо упомянутых вами инструкций, взгляните на примеры в этом руководстве. Особенно эти:

http://msdn.microsoft.com/en-us/library/hh446528.aspx

http://msdn.microsoft.com/en-us/library/hh446531.aspx

Надеюсь, это поможет

Комментарии:

1. Еще один отличный пример, если вы выполняете REST, находится здесь: msdn.microsoft.com/en-us/library/windowsazure/hh127795.aspx — это демонстрирует использование OAuth 2.0 через SWT для службы WCF.

2. кажется, что очень сложно найти полный пример службы SOAP WCF с использованием ACS

Ответ №2:

Скорее всего, вам нужно использовать HttpModule для защиты вашей службы. Основная задача этого модуля — прочитать заголовок авторизации и создать утверждения.

Также убедитесь, что в теге web.config должно содержаться

Вы можете получить код для HttpModule из приведенного ниже примера.

http://acs.codeplex.com/wikipage?title=ACS Windows Phone Sample

Посмотрите на ProtectedResourceModule.cs

Радость