Конфигурация безопасности WCF

У меня есть служба WCF, размещенная в консольном приложении. Мне нужно использовать собственный валидатор имени пользователя и пароля (для этой цели я написал класс, который наследуется от UserNamePasswordValidator). Мне нужно использовать http (не https). Какая конфигурация является правильной (с точки зрения типа привязки, режима безопасности) для настройки этой конфигурации? Заранее спасибо... Андреа С


person Andrea Caloni    schedule 04.06.2010    source источник


Ответы (1)


Вы понимаете, что при использовании HTTP вместо HTTPS имя пользователя и пароль будут отправляться по сети в виде простого текста и могут быть легко перехвачены?

Если вы используете .NET 3.5, вы можете защитить сообщение или транспортный канал с помощью пользовательского файла UserNamePasswordValidator. Если вы используете .NET 3.0, вы можете использовать безопасность сообщений только с пользовательским UserNamePasswordValidator. Дополнительные сведения см. в разделе Практическое руководство. Использование собственного средства проверки имени пользователя и пароля. Информация.

Например, если вы используете .NET 3.5 и хотите использовать безопасность транспорта, вы можете использовать следующую конфигурацию. Вы должны не забыть добавить поведение службы, которое позволит WCF узнать о вашем пользовательском классе UserNamePasswordValidator.

<system.serviceModel> 
  <bindings>
  <wsHttpBinding>
      <binding name="Binding1">
        <security mode="Transport">
          <transport clientCredentialType="Basic" />
        </security>
      </binding>        
    </wsHttpBinding>
  </bindings>

  <behaviors>
    <serviceCredentials>
      <userNameAuthentication userNamePasswordValidationMode="Custom"
                              customUserNamePasswordValidatorType="** The fully qualified type name for your UserNamePasswordValidator **" />
    </serviceCredentials>
  </behaviors>
</system.serviceModel>
person dariom    schedule 04.06.2010