Я занят разработкой приложения WCF. Целью приложения будет предоставление страховым участникам доступа к их страховой информации через Интернет.
Проблема заключается в нашей сетевой архитектуре, и я не совсем уверен, какой тип или комбинацию безопасности я должен использовать.
В нашей внутренней сети у нас есть среда UNIX, к которой я обращаюсь с помощью оболочки FullX .net, и у нас есть хранилище данных Oracle 10g, к которому я обращаюсь через библиотеку Enterprise.
Я создал BLL, содержащий бизнес-объекты и DAL, которые заполняют эти объекты через Enterprise Library / CompleteX.
Я создал слой служб WCF с двумя службами WCF, один для доступа к хранилищу оракулов, другой для доступа к unix, и они ссылаются на BLL.
Я собираюсь разместить эту службу в IIS на рабочем сервере с SQL 2005 внутри брандмауэра. Мы приобрели веб-сервер, для которого мы создаем DMZ, и этот веб-сервер будет взаимодействовать с рабочим сервером только через порт 443 и / или порт 80. Интернет нашей компании будет иметь доступ к веб-серверу в демилитаризованной зоне.
Уровень представления будет внешним интерфейсом ASP.Net, который вызывает службу в коде с использованием Channelfactory. Я использую клиентские сертификаты X509, которые клиент должен предоставить службе. Услуга защищена SSL. Внешний интерфейс будет на веб-сервере в DMZ.
Я использую wsHttpBinding с безопасностью транспорта и clientCredentialType = "Certificate", который работает нормально, но я хочу передать информацию для входа в службу. Я думал добавить его в заголовок сообщения.
Теперь я на этапе, когда я сомневаюсь в жизнеспособности моего дизайна. Может кто-нибудь дать мне несколько советов о том, какую привязку и безопасность я должен использовать в этом сценарии, как передать информацию для входа в систему и что я должен иметь на своем уровне презентации, чтобы быть наиболее безопасным. Мы контролируем, какие порты будут открываться через брандмауэр для внутреннего рабочего сервера. У нас будет только 1 клиент ASP.Net, размещенный на веб-сервере в демилитаризованной зоне, но только HTTPS или HTTP-доступ к производственному серверу.
Большое спасибо
Райан
Спасибо