Пользовательская аутентификация в wcf без сертификата, https, ssl и iis - PullRequest
0 голосов
/ 13 января 2012

Прежде всего, извините за мой английский, это не мой родной язык. Я постараюсь описать свою проблему настолько, насколько смогу.

Я долго искал в Интернете решение, в котором я мог бы создать службу wcf, которая могла бы отвечать на запросы моих клиентов с помощью имени пользователя и пароля, но без создания сертификата, использования https или чего-либо еще, что требует специального Конфигурация на машине, где будет установлена ​​моя служба Windows.

Вот моя точка зрения: я хочу развернуть приложение для многих моих клиентов. Это приложение будет иметь мобильные устройства и сервер, который будет предоставлять некоторую информацию на мобильное устройство с помощью wcf. У каждого клиента будет свой сервер и множество устройств. Я не хочу, чтобы кто-либо в Интернете мог иметь доступ к этой информации, и по этой причине я должен реализовать процедуру аутентификации с именем пользователя и паролем для каждого запроса, но я не хочу, чтобы меня заставляли устанавливать сертификат, активировать некоторые Порт https на каждой машине, когда я продаю новую копию моего приложения.

Я читал, что в wcf 4.0 есть встроенная система, которая может зашифровать данные, и по этой причине я не хочу использовать дополнительные возможности, если это возможно.

Мой вопрос: возможно ли иметь безопасное решение с учетом моих требований, и если да, как я могу это сделать?

Если мне действительно необходимо создать сертификат и использовать IIS, https или любое другое безопасное решение, можно ли автоматизировать эти вещи в пакете, который будет установлен одним щелчком мыши на каждом сервере моих клиентов?

Заранее благодарим за ваше время.

Ответы [ 2 ]

1 голос
/ 13 января 2012

По умолчанию WCF не разрешает транспортировку учетных данных имени пользователя через http и, следовательно, должен использовать сертификаты для защиты вашего транспортного уровня.Но если вы уверены, что у вас все в порядке с отправкой учетных данных имени пользователя по каналу http, вы можете взглянуть на ClearUsernameBinding , который дает вам гибкость при отправке учетных данных имени пользователя по каналу http (учтите тот факт, что кто-то можетперехватить ваш транспортный канал, чтобы получить доступ к учетным данным)

Также, если вы хотите использовать сертификаты, которые должны быть установлены, вы можете добиться написания некоторого кода на c # и включить его как часть вашей установки из вашего пакета.Вы также можете настроить все, от MSI, например, создание виртуального каталога, развертывание приложения и т. Д.

0 голосов
/ 15 января 2012

что вы, вероятно, ищете, это одна из привязок wcf, которая имеет безопасность на уровне сообщений.Вы можете указать имя пользователя и пароль в этом сообщении и не беспокоиться о том, что они будут проходить через незашифрованный http-канал (то есть пользовательскую аутентификацию).По умолчанию WCF отправляет имя пользователя и пароль как часть http-запроса в заголовке, поэтому он хочет https.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...