2012-04-27 7 views
4

Он запущен в интрасеть .net framework 3.5, размещенном в IIS 7.0, и использует wsHttpBinding с нулевой безопасностью. Теперь я должен защитить его, чтобы разрешить запуск только определенным пользователям.Каков самый простой способ безопасности службы WCF

Кажется, что я должен использовать SSL и сертификаты, но мне бы очень хотелось держаться подальше от этого, потому что выглядит сложным, в основном я ищу самый простой способ.

Я взглянул на netTcpBinding, и мне кажется, что это правильный путь, если да, можете ли вы подтвердить, что использование net.tcp может быть использовано на каком-то сайте asp.net.

Любые комментарии приветствуются.

Спасибо,

+1

Самый простой может быть, что вы указываете только допустимые имена пользователей, разрешенные для подключения в web.config веб-приложения WCF, это работает только в том случае, если вы доверяете никому, кто не несанкционирован, отредактирует такой файл web.config. –

+0

@DavidePiras, таким образом, я должен включить проверку подлинности Windows, если это не требуется SSL, правильно? – m0dest0

+0

@ m0dest0: Я думаю, что Davide говорит, что имена пользователей будут жестко закодированы в файле конфигурации. Только людям, которые знают эти учетные данные, будет разрешен доступ. – mellamokb

ответ

2

В вашем случае у вас есть интрасеть, что означает, что у вас есть внутренние пользователи. Это зависит от того, откуда приходит вызов службы WCF.

Если предположить:

  • Внутренние пользователи, которые Войти в домен Windows
  • клиентские машины и сервер находятся в одном домене
  • пользователь запускает окна приложения на своей машине, что делает WCF вызов

Самым простым решением является использование проверки подлинности Windows

  • клиент делает вызов в контексте безопасности зарегистрированного пользователя
  • Сервер проверяет членство в группе пользователей всего определится, если он должен разрешить доступ
2

Вы сказали, что вы используете приложение Intranet.

Если это так, вы можете включить проверку подлинности Windows и разрешить использование только определенных пользователей в IIS (это также контролируется в файле web.config). Если каждый находится в интрасети, он должен автоматически аутентифицироваться без необходимости ввода пароля или имени пользователя.

Однако, если кому-либо из вашей интрасети необходимо связаться с этой службой, вам необходимо включить SSL & https для защиты учетных данных, отправленных службе.