2009-09-01 5 views
0

Просьба предложить мне лучший способ аутентификации в сценарии, упомянутом ниже:Каков наилучший способ аутентификации для этого сценария?

Требование: я должен развернуть веб-службу WCF в нескольких странах по всему миру.

ПРИМЕЧАНИЕ: Все машины, на которых развертывается служба, находятся в одном домене.

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

В настоящее время я использую режим Message Security с помощью «Windows»

+0

Некоторые вопросы. Будет ли служба публично открыта в доменной сети? Кого вы хотите, чтобы иметь возможность использовать эту услугу? Кто-нибудь вошел в домен, разрешенный для вызова службы? Вы также можете подумать о авторизации, а также о проверке подлинности. –

+0

Да, сервис публично открыт в доменной сети, и только клиенты из одного домена могут получить доступ к службе.Фактически мы предоставим клиентское приложение клиенту, через которое он может вызывать методы веб-службы (например, чтение и запись). –

ответ

1

Я curous, почему вы хотите домен быть таким же, если она должна быть развернута в разных странах по всему миру. Если вы не говорите о размещении службы во внутренней сети, которая не публиковалась, принудительное использование одного и того же имени домена может быть затруднено. В разных странах действуют разные стандарты домена. У Америки гораздо богаче набор корней домена на выбор. Другие страны часто имеют коренной коренной характер, возможно, с региональным подкорпусом.

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

+0

Не согласен с тем, что вы написали, но мне кажется, что плакат говорит о развертывании на частной глобальной сети с серверами, расположенными по всему миру, а не через Интернет. –

+0

Да Tuzo прав. Служба развернута на WAN не в Интернете. –

+0

Если ее на WAN, то тот же домен, очевидно, не будет проблемой. Если для поведения, предоставляемого службой, требуется учетная запись с проверкой подлинности Windows, я бы использовал защиту Windows. Однако, если для поведения не требуется учетная запись Windows, я бы рассмотрел использование другого механизма аутентификации, например сертификатов. Аутентификация Windows полностью зависит от домена и может быть отсталой. Сертификаты, как правило, более подходят для лиц, не относящихся к человеку, которым требуется аутентификация, и их можно управлять независимо от домена. – jrista

1

Поскольку вы работаете в интрасети и предполагаете, что ваше приложение Windows будет подключаться непосредственно к службе, я бы пошел с Transport Security с помощью проверки подлинности Windows.

Проконсультируйтесь с patterns & practices Improving Web Services Security Guide.

Я все еще сомневаюсь, нужно ли вам разрешение. Если вы выполните проверку подлинности Windows без какой-либо авторизации, это упростит вашу службу, но позволит любому пользователю домена получить доступ к вашей службе независимо от того, использует ли она приложение Windows. Разумеется, они должны были бы знать о конечной точке и структуре сообщений, но все равно было бы возможно.

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

+0

Спасибо Tuzo за ваш ответ .. Да, я авторизуюсь через AD. Как только я сделаю аутентификацию, я просмотрю группы, в которых этот пользователь входит, и на основе группы я задам роли этого конкретного пользователя. Можете ли вы предложить разрешение? –

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