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

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

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

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

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

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


person Peter Zajic    schedule 04.11.2011    source источник


Ответы (2)


Небольшое уточнение: если вы полагаетесь на 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

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

person Eugenio Pace    schedule 04.11.2011
comment
Еще один отличный пример, если вы используете REST, находится здесь: msdn.microsoft. com/en-us/library/windowsazure/hh127795.aspx — демонстрирует использование OAuth 2.0 через SWT для службы WCF. - person Jeremy McGee; 05.11.2011
comment
кажется, что очень сложно найти полный пример службы SOAP WCF с использованием ACS. - person Michael; 09.04.2012

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

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

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

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

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

Радость

person Joy George Kunjikkuru    schedule 07.12.2011