2013-03-01 1 views
0

Даже со всей доступной документацией, в которой мне сообщается, как настроить WCF для разрешения сертификатов через SSL, мне сложно определить, где лежат обязанности IIS и где лежат обязанности WCF.Нужно ли настраивать wcf с безопасностью транспорта, если IIS настроен для согласования сертификатов?

Например, у меня нет полномочий над моим сервером IIS. Я попросил администратора настроить мой виртуальный каталог (приложение), чтобы потребовать сертификаты через ssl. Я сделал это, потому что, когда я пытался настроить эту безопасность через мой web.config, он сказал мне, что IIS не настроен, чтобы разрешить это.

После этого другой разработчик сказал мне, что, поскольку администратор IIS настроил его таким образом, мне нужно установить security = none и client auth никому в моем web.config, потому что IIS теперь обработает это для моего приложения.

Это правда? Кроме того, есть ли документация, объясняющая параметры настройки IIS и WCF и какой-то тип конвейера, показывающий, где происходят эти процессы аутентификации?

Thank you.

+0

который вы используете? это повлияет на настройку безопасности в вашей службе. – AFischbein

ответ

0

Недавно я создал службу wcf для внешней компании, чтобы получить доступ к нашим данным. Практики безопасности очень трудно настроить. Я закончил обход сертификата и написал пользовательский класс auth, который аутентифицировал имя пользователя и пароль в заголовке. Полезные ссылки, которые я нашел в своем путешествии.

http://wcfsecurityguide.codeplex.com/releases/view/15892

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

Я хотел бы дать вам больше, моя ситуация не была столь жизненно важной для безопасности, с тем, что имело главную роль в маршруте я взял.

2

Ну, вам обязательно нужно установить сертификат и включить привязку SSL в IIS, прежде чем что-нибудь будет работать. Вы также должны установить режим «Безопасность» на «Транспорт», а «clientCredentialType» - на «Нет». Это может быть то, к чему стремился ваш друг-разработчик, хотя он ошибается, подразумевая, что WCF не нужно ничего делать, если безопасность установлена ​​в IIS.

<bindings> 
    <basicHttpBinding> 
    <binding name="secureHttpBinding"> 
     <security mode="Transport"> 
     <transport clientCredentialType="None"/> 
     </security> 
    </binding> 
    </basicHttpBinding> 
</bindings> 

Затем вы ссылаетесь на это привязку в конфигурации конечной точки службы. This page имеет довольно четкое пошаговое руководство о том, что делать, хотя вам, очевидно, потребуется доступ к IIS, чтобы установить это.

Основная идея заключается в том, что сертификаты устанавливаются и управляются IIS, который также обрабатывает аутентификацию. Все действия WCF говорят о том, какая система безопасности будет использовать/ожидая. This page имеет хорошее обсуждение безопасности транспорта по HTTP, а также ссылки на настройку IIS для этого. Надеюсь это поможет!

Смежные вопросы